Bonjour,
J’ai créé un graphique. Ce dernier vient s’alimenter dans un tableau de données qui contient x lignes. J’indique au tableau la ligne à laquelle il doit prendre les infos à m’afficher par l’intermédiaire d’une inputbox.
Ce tableau est alimenté par une autre macro. Le nombre de ligne de ce dernier varie donc constamment.
J’ai bidouillé un peu et voila ce que cela donne :
Mon premier code qui permet de créer une première fois le tableau
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 Sub Creer_Graphique_Evolutif_Initialiser() Dim Statut As Range Set Statut = Worksheets("Graphique").Range("C34") Worksheets("Graphique").Range("A35:C57").ClearContents Worksheets("Graphique").Range("C35:C57").Interior.ColorIndex = xlNone Worksheets("Graphique").ChartObjects("Graphique 15").Activate ActiveChart.ChartArea.Select ActiveChart.SeriesCollection(1).Delete ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Values = Sheets("Masque_Un").Range("B1:M1") ActiveChart.SeriesCollection(1).Name = Sheets("Masque_Un").Range("A1") ActiveChart.SeriesCollection(2).Values = Sheets("Masque_Un").Range("N1:Y1") ActiveChart.SeriesCollection(2).Name = "Moyenne Mensuelle" ActiveChart.SeriesCollection(3).Values = Sheets("Masque_Un").Range("Z1:AK1") ActiveChart.SeriesCollection(3).Name = "Moyenne Annuelle" ActiveChart.SeriesCollection(1).XValues = "=Masque_Un!R1C2:R1C13" Worksheets("Accueil").Activate End Sub
Une fois le graphique créé, j’ai a coté de ce dernier une liste générée par macro qui me dit « si tu veux connaître la quantité de bonbons tapes 1, de sucre tapes 2… et la macro correspondante (une macro qui ne sert qu’a indiquer a mon graphique dans quelle ligne du tableau il doit chercher l’info)
Ce programme fonctionne bien sauf…
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56 Sub Modifier_Graphique_Evolutif() Dim Nombre As Range Dim Statut As Range Dim i As Integer Dim compteur As Integer Set Nombre = Worksheets("Graphique").Range("A34") While Nombre.Offset(compteur) <> "" compteur = compteur + 1 Wend Set Statut = Worksheets("Graphique").Range("C34") Range("C35:C57").ClearContents Range("C35:C57").Interior.ColorIndex = xlNone MaLigneDeDepart = InputBox("Veuillez entrer le numéro correspond a la ligne que vous souhaitez visualiser", "LIGNE", 1) If MaLigneDeDepart >= compteur Then A = MsgBox("Entrez un numéro qui correspond à une ligne!", vbExclamation, "ATTENTION") Exit Sub ElseIf MaLigneDeDepart = "0" Then A = MsgBox("Entrez un numéro qui correspond à une ligne!", vbExclamation, "ATTENTION") Exit Sub Else i = MaLigneDeDepart + 1 End If ActiveSheet.ChartObjects("Graphique 15").Activate ActiveChart.ChartArea.Select ActiveChart.SeriesCollection(1).Delete ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).Values = Sheets("Masque_Un").Range("B" & i, "M" & i) ActiveChart.SeriesCollection(1).Name = Sheets("Masque_Un").Range("A" & i) ActiveChart.SeriesCollection(2).Values = Sheets("Masque_Un").Range("N" & i, "Y" & i) ActiveChart.SeriesCollection(2).Name = "Moyenne Mensuelle" ActiveChart.SeriesCollection(3).Values = Sheets("Masque_Un").Range("Z" & i, "AK" & i) ActiveChart.SeriesCollection(3).Name = "Moyenne Annuelle" ActiveChart.SeriesCollection(1).XValues = "=Masque_Un!R1C2:R1C13" Statut.Offset(i - 1).Interior.ColorIndex = 4 Statut.Offset(i - 1) = "ACTIF" Statut.Offset(i - 1).Font.ColorIndex = 1 End Sub
Je suis obliger de sélectionner la ligne 1 via mon inputbox avant de relancer la macro « Sub Creer_Graphique_Evolutif_Initialiser() »
Si je me trouve sur une autre ligne que la ligne 1, le programme plante au moment ou je réactualise l’ensemble (réactualisation qui lancer dans la foulée Sub Creer_Graphique_Evolutif_Initialiser() «
Je ne sais pas si je me fais comprendre ?
Quelqu’un peux m’aider ?
Merci d’avance pour votre aide.
Partager