Bonjour
j'ai un graphique dont le nombre de séries varie de 105 à 202 (environ)
je nomme les plages définissant les séries par VBA
les plages nommées sont bien à leur place, et sélectionnent bien les cellule demandées
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 With ActiveSheet fin = .Range("l9").Value taquet = .Range("l11").Value For t = 23 To t + fin p = t - 22 Nom(p) = .Range("k" & t).Value With ThisWorkbook ActiveWorkbook.Names.Add Name:=Nom(p), RefersToR1C1:="=Feuil1!R1C1:R" & t & "C" & taquet End With Next
par contre ça coince c'est lorsque je veux utiliser ces plages pour les séries du graphique j'emploie ceci
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 For p = 1 To fin Nom(p) = "=" & ActiveWorkbook.Name & "!" & Nom(p) Next For p = 1 To fin Sheets(2).Select ActiveSheet.ChartObjects("Chart 1033").Select With ActiveChart ActiveChart.SeriesCollection(p).Values = Nom(p) End With
bon je me réponds
j'ai trouvé l'erreur
l'emploi de plage nommées marche très bien sur le graphique au niveau de la feuille
Pour l'entrée par VBA par contre je dois employer des formes du style $A$1:$F$1
la macro se modifie comme suit:pour la création du tableau de série
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 With Sheets(2) fin = .Range("l9").Value taquet = .Range("l11").Value .Range("l7").Value = .Range("l10").Value For t = 1 To fin p = t + 22 Nom(t) = .Range("k" & p).Value Set mc = .Range(.Cells(p, 12), .Cells(p, taquet)) ZonA(t) = mc.AddressLocal()
etceci pour entrer les séries.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sheets(2).Select ActiveSheet.ChartObjects("Chart 1033").Activate ActiveChart.ChartArea.Select For p = 1 To fin With ActiveChart .SeriesCollection(p).Values = Sheets(2).Range(ZonA(p)) .SeriesCollection(p).Name = Nom(p) End With Next p End With
Partager