Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment changer la source des séries d'un graph par code VBA?

4 réponses
Avatar
Tintin92
Bonjour,

XL 2000
Le probl=E8me :
J'ai un premier classeur XL avec plusieurs feuilles dont les tableaux
sont au m=EAme formats, seules les donn=E9es changent.
J'ai un second classeur XL, avec une feuille qui affiche dans un graphe
les donn=E9es d'une seule feuille
Je souhaiterai changer par code VBA la source des donn=E9es de ce
graphique.
Afficher les donn=E9es d'une feuille, puis d'une autre feuille.

Comment changer la source des s=E9ries d'un graph par code VBA?

Apr=E8s une premi=E8re recherche je suis tomb=E9 sur SeriesCollection,
mais c'est encore tr=E8s vague pour moi.

Merci

Tintin92

4 réponses

Avatar
Philippe
Précises :
- tu veux créer autant de graphiques que de tableaux ?
ou
- tu veux que ton utilisateur puisse visualiser successivement le mois de
janvier, puis février etc... auquel cas c'est plus compliqué puisqu'il faudra
lui fournir par exemple un menu déroulant qui déclenchera le choix du tableau

Cordialement,
Philippe


Bonjour,

XL 2000
Le problème :
J'ai un premier classeur XL avec plusieurs feuilles dont les tableaux
sont au même formats, seules les données changent.
J'ai un second classeur XL, avec une feuille qui affiche dans un graphe
les données d'une seule feuille
Je souhaiterai changer par code VBA la source des données de ce
graphique.
Afficher les données d'une feuille, puis d'une autre feuille.

Comment changer la source des séries d'un graph par code VBA?

Après une première recherche je suis tombé sur SeriesCollection,
mais c'est encore très vague pour moi.

Merci

Tintin92




Avatar
Philippe
A la main :
click droit sur le graphique, données sources

En vba :
une macro enregistrée pendant que je change les données sources donne ça :
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("E5:F8"),
PlotBy:=xlColumns

"ya pu ka" faire ta liste de tableaux et faire le bouton utilisateur,
bon courage,
Philippe


Bonjour,

XL 2000
Le problème :
J'ai un premier classeur XL avec plusieurs feuilles dont les tableaux
sont au même formats, seules les données changent.
J'ai un second classeur XL, avec une feuille qui affiche dans un graphe
les données d'une seule feuille
Je souhaiterai changer par code VBA la source des données de ce
graphique.
Afficher les données d'une feuille, puis d'une autre feuille.

Comment changer la source des séries d'un graph par code VBA?

Après une première recherche je suis tombé sur SeriesCollection,
mais c'est encore très vague pour moi.

Merci

Tintin92




Avatar
Tintin92
Bonsoir,

Ta solution fonctionne sans doute, mais dans mon cas le m'a posé
problème.
Voici la solution que j'ai adoptée.

Dim bs As Worksheet
Dim ch As Chart

Set bs = Workbooks("Cl-Output.xls").Worksheets(ComboBox1.Value)
Set ch =
Workbooks("MM-001.xls").Sheets("Graphes").ChartObjects(1).Chart

ch.SeriesCollection(1).Values = bs.Range("$D$2:$D$102")
ch.SeriesCollection(2).Values = bs.Range("$D$103:$D$203")
ch.SeriesCollection(3).Values = bs.Range("D204:D304")

Cordialement.

Tintin92
Avatar
Tintin92
Il manque un mot dans la phrase:

Bonsoir,


Ta solution fonctionne sans doute, mais dans mon cas le ActiveChart m'a
posé
problème.
Voici la solution que j'ai adoptée.


Dim bs As Worksheet
Dim ch As Chart


Set bs = Workbooks("Cl-Output.xls").Worksheets(ComboBox1.Value)
Set ch =
Workbooks("MM-001.xls").Sheets("Graphes").ChartObjects(1).Chart


ch.SeriesCollection(1).Values = bs.Range("$D$2:$D$102")
ch.SeriesCollection(2).Values = bs.Range("$D$103:$D$203")
ch.SeriesCollection(3).Values = bs.Range("D204:D304")


Cordialement.


Tintin92