Bonjour,
J'ai un classeur comportant une liste de noms. En cliquant sur une ligne, j'ajoute à un graphique, une courbe correspondant à la personne sur laquelle j'ai cliqué. Jusque là tout se passe bien. Seulement je souhaiterais pouvoir comparer plusieurs courbes et donc les afficher sur le même graph. Je ne sais pas pourquoi, lorsque je clique sur une deuxième personne la première courbe est supprimée pour laisser place a la seconde... Voilà mon code :
Je pense qu'il faut utiliser "Add" quelque part mais je ne sais pas trop où...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Dim mongraph As Chart, mafeuille As Worksheet, plagedonnee As Range Dim plagex As Range, plagey As Range, maserie As Series, maserie2 As Series, compteur As Long, plagegraph As Range Set plagegraph = Worksheets("graphevo").Range("B3:P28") Set mafeuille = ThisWorkbook.Worksheets("tmpgraph") k = 6 While Worksheets("tmpgraph").Cells(2, k) <> Worksheets("graphevo").Cells(rw, 1) k = k + 3 Wend With mafeuille Set plagedonnee = .Range(.Cells(4, k - 1), .Cells(4, k - 1).End(xlDown)).Resize(, 2) End With Set mongraph = ThisWorkbook.Worksheets("graphevo").ChartObjects.Add(plagegraph.Left, plagegraph.Top, plagegraph.Width, plagegraph.Height).Chart mongraph.ChartType = xlLine Set plagey = plagedonnee.Columns(1) For compteur = 1 To plagedonnee.Columns.Count - 1 Set plagex = plagey.Offset(, compteur) Set maserie = mongraph.SeriesCollection.NewSeries With maserie .Values = plagey .XValues = plagex End With mongraph.HasTitle = True With mongraph.ChartTitle .Text = "blabla" End With With mongraph.Axes(xlCategory) .HasTitle = True .AxisTitle.Text = "Temps" End With With mongraph.Axes(xlValue) .HasTitle = True .AxisTitle.Text = "Salaire" End With Next compteur
De plus je souhaiterais ensuite pouvoir retirer la courbe de mon choix en cliquant de nouveau sur le nom de la personne. Mais comment faire le lien entre la personne et sa série...?
En vous remerciant.
En fait le soucis vient de cette ligne :
En effet je tracais un nouveau graph sur l'ancien a chaque clic. Donc j'ai essayé de placer cette ligne dans une procédure initialize ou activate mais j'ai l'erreur d'exécution 9: l'indice n'appartient pas a la sélection... Et cette erreur apparait chaque fois que je fais référence a pon graph dans une procédure autre que celle dans laquelle je "set" ce graph. J'ai déclaré le graph en "public" mais pas de changements. Idem lorsque je cherche a faire un "clear" à l'ouverture du classeur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set plagedonnee = .Range(.Cells(4, k - 1), .Cells(4, k - 1).End(xlDown)).Resize(, 2)
Merci de votre aide
EDIT: petite question supplémentaire... Une fois que j'ai tracé 5 courbes par exemple, comment faire référence a la 1ere courbe ou à la 3eme ?
Sachant que j'ai renommé les courbes en "nom de la personne sélectionnée" est ce que je peux y faire référence par son "name" ? J'ai tenté :
Sans succès...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 While mon graph.SeriesCollection(i). maserie <> nom i = i + 1 Wend
Merci pour votre aide...
Partager