OVH Cloud OVH Cloud

Creation d'un graphique a partir d'un tableau a taille variable

2 réponses
Avatar
Hervé
Bonjour,

J'ai des datas dans un tableau, mais le problème est que je ne sais pas
combien. Je souhaite en faire une macro pour sortir un graphique.

Je viens de tester en sélectionnant la zone, ça marche, mais il y a les
coordonnées des cases dans la macro. Elle ne fonctionne pas avec une taille
variable.

ActiveChart.SetSourceData Source:=Sheets("Test
Graphique").Range("D1:D69"), _

A la place de D1:D69, je voudrais qu'il prenne toutes les datas de la
colonne (actuellement j'ai un titre sur la première ligne mais je ne sais
pas si je l'aurais plus tard...)


Je vais continuer à gogoliser pour voir si je trouve la solution, car je ne
suis surement pas le premier à vouloir faire ça. Mais quand on ne sait pas
quels mots clés utiliser, c'est toujours plus long...

Merci
@+
Hervé

2 réponses

Avatar
Daniel
Bonjour.
Tu définis pour ta série une plage dynamique par Insertion / Nom / Définir,
donne un nom, "Plage" par exemple; dans "fait référence à", indique :
ÞCALER(Feuil2!$A$1;0;0;NBVAL(Feuil2!$A:$A);1), à adapter suivant
l'emplacement de tes données. Ensuite tu conserves ta ligne :
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("D1:D69"), _
PlotBy:=xlColumns
et tu ajoutes :
ActiveChart.SeriesCollection(1).Values = "=test.xls!Plage"
Cordialement.
Daniel
"Hervé" a écrit dans le message de news:
443672f0$0$20160$
Bonjour,

J'ai des datas dans un tableau, mais le problème est que je ne sais pas
combien. Je souhaite en faire une macro pour sortir un graphique.

Je viens de tester en sélectionnant la zone, ça marche, mais il y a les
coordonnées des cases dans la macro. Elle ne fonctionne pas avec une
taille
variable.

ActiveChart.SetSourceData Source:=Sheets("Test
Graphique").Range("D1:D69"), _

A la place de D1:D69, je voudrais qu'il prenne toutes les datas de la
colonne (actuellement j'ai un titre sur la première ligne mais je ne sais
pas si je l'aurais plus tard...)


Je vais continuer à gogoliser pour voir si je trouve la solution, car je
ne
suis surement pas le premier à vouloir faire ça. Mais quand on ne sait pas
quels mots clés utiliser, c'est toujours plus long...

Merci
@+
Hervé




Avatar
Hervé
Bonjour.
Salut,


Tu définis pour ta série une plage dynamique par Insertion / Nom /
Définir,

donne un nom, "Plage" par exemple; dans "fait référence à", indique :
ÞCALER(Feuil2!$A$1;0;0;NBVAL(Feuil2!$A:$A);1), à adapter suivant
l'emplacement de tes données. Ensuite tu conserves ta ligne :
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("D1:D69"), _
PlotBy:=xlColumns
et tu ajoutes :
ActiveChart.SeriesCollection(1).Values = "=test.xls!Plage"
Ok Merci,


Cordialement.
Daniel
Cordialement,

Hervé