1 pièce(s) jointe(s)
Codageen VBA d'une ligne .Xvalues= faite manuellement par Excel
Bonjour à tous,
Pour mettre, dans un graphe incorporé, une droite parallèle à l'axe des Y Je clique 2 fois sur une cellule "A1"
En maintenant la touche "Ctrl" enfoncée, J'obtiens donc:
Code:
.Xvalues = ('Feuil'!$A$1,('Feuil'!$A$1)
et pour .Values = {01} c'est à dire la valeur en
y = 0, et celle de y = 1
En changeant, par une boucle, la valeur de "A1" j'ai bien bien le déplacement de ma verticale le long de l'axe X
Tout ça c'est parfait!
Maintenant je veux inclure cette méthode dans une macro VBA.
Après plus d'une dizaine d'essai (voir le fichier "déplacement_d_une_verticale") je n'arrive pas à trouver le moyen d'affecter
la virgule entre les 2 cellules identiques "A1".
Ce que je désire précisément c'est une ligne de code VBA me donnant la même ligne que celle obtenue manuellement
Je sais, certaines lignes du fichier sont absurdes, d'autres donne des résultats bizarres, qui s'expliquent sans doute mais pas le temps de m'y attarder
Par ailleurs je n'ai rien trouvé sur le web de l'emploi des caractères {,},[ ,] ,\
Le dernier, par exemple ( barre oblique inverse) et les 2 accolades sont mises automatiquement par Excel avec l'assistant de construction graphique.
Merci d'avance pour votre aide car je suis vraiment à court d'idées
Cordialement
Codage d'une .XValues en VBA
Bonjour à tous,
J'ai fini par trouver ce que je cherchais!
La méthode d'ARTURO83 fonctionne parfaitement mais je lui trouve un défaut: à chaque étape elle crée une nouvelle séries:
.XValues = {1\1} puis .XValues = {2\2} .XValues = {3\3} etc
Ce que je voulais c'était affecter à .XValues la formule établie par Excel XValues=Feuil1!$A$1;Feuil1!$A$1 lors du Ctrl + cellule "A1" +cellule "A1".
La solution était pourtant simple, avant de passer des heures à essayer de comprendre. Il suffit d'utiliser l'enregistreur de Macro
Voici la solution pour ceux qui sont intéressés (et pour ARTURO83 peut-être aussi...sourire)
Code:
1 2 3 4 5 6 7
| Sub décalage_d_une_verticale_sur_un_graphe()
Dim i As Integer
ThisWorkbook.Worksheets("Feuil1").ChartObjects(1).Chart.SeriesCollection(1).XValues = "=(Feuil1!R1C1,Feuil1!R1C1)"
For i = 1 To 100
ThisWorkbook.Worksheets("Feuil1").Range("A1") = i
Next i
End Sub |
Ne soyez pas rebuté, un peu comme moi, par les R1C1, Excel convertit directement en A1 dans les données sources du graphique
Cordialement