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

graphe cree en VBA, series variables

4 réponses
Avatar
bonjour,


je veux faire un graphe avec du code VBA, mais je en sais
pas a l'avance le nombre de series, ni la longueur de
chaque serie.

les series sont dans ma feuille 1 et le code que j'ai
pour le moment est :

j = 1
While Cells(1, j) <> ""
j = j + 1
Wend
j = j - 1

k = 2
While Cells(k, 1).Value <> ""
k = k + 1
Wend
k = k - 1

Charts.Add
With ActiveChart
.ChartType = xlLine
For i = 2 To j
.SeriesCollection.Add Source:=Worksheets("Sheet1").Range
(Cells(1, i), Cells(k, j))
Next i

mais ca ne fonctionne pas.

merci de votre aide

4 réponses

Avatar
papou
Bonjour
Tu construis l'adresse de la plage de données en définissant la dernière
ligne et la dernière colonne avec par exemple :
Dim NoDernLig&, LettreDerCol$, LaPlageDuGraph$
NoDernLig = Range("A65536").End(xlUp).Row
LettreDerCol = Left(Range("A1").End(xlToRight).Address(False, False), 1)
LaPlageDuGraph = "A1:" & LettreDerCol & NoDernLig

Tu utilises ensuite ces coordonnées pour ton graph :
.SeriesCollection.Add Source:=Worksheets("Sheet1").Range(LaPlageDuGraph)

Cordialement
Pascal



a écrit dans le message de
news:2373001c45e7e$e6d33c70$
bonjour,


je veux faire un graphe avec du code VBA, mais je en sais
pas a l'avance le nombre de series, ni la longueur de
chaque serie.

les series sont dans ma feuille 1 et le code que j'ai
pour le moment est :

j = 1
While Cells(1, j) <> ""
j = j + 1
Wend
j = j - 1

k = 2
While Cells(k, 1).Value <> ""
k = k + 1
Wend
k = k - 1

Charts.Add
With ActiveChart
.ChartType = xlLine
For i = 2 To j
.SeriesCollection.Add Source:=Worksheets("Sheet1").Range
(Cells(1, i), Cells(k, j))
Next i

mais ca ne fonctionne pas.

merci de votre aide



Avatar
twinley
Bjr,

ça se passe là pour les exemples avec DECALER.

http://www.tushar-mehta.com/excel/newsgroups/dynamic_charts/index.html

et sur le site d'Excelabo.

http://www.excelabo.net/xl/graph.php

Perso, j'ai enfin compris avec le site en anglais de tushar-mehta, bien qu'excelabo soit exact... l'anglais traduit ne m'a jamais réussi. Je me demande si je ne suis pas un peu snob.
--
twinley



bonjour,


je veux faire un graphe avec du code VBA, mais je en sais
pas a l'avance le nombre de series, ni la longueur de
chaque serie.

les series sont dans ma feuille 1 et le code que j'ai
pour le moment est :

j = 1
While Cells(1, j) <> ""
j = j + 1
Wend
j = j - 1

k = 2
While Cells(k, 1).Value <> ""
k = k + 1
Wend
k = k - 1

Charts.Add
With ActiveChart
.ChartType = xlLine
For i = 2 To j
.SeriesCollection.Add Source:=Worksheets("Sheet1").Range
(Cells(1, i), Cells(k, j))
Next i

mais ca ne fonctionne pas.

merci de votre aide




Avatar
Merci beaucoup papou, ca marche enfin !

je commenceais a m'arracher les cheveux !


-----Original Message-----
Bonjour
Tu construis l'adresse de la plage de données en
définissant la dernière

ligne et la dernière colonne avec par exemple :
Dim NoDernLig&, LettreDerCol$, LaPlageDuGraph$
NoDernLig = Range("A65536").End(xlUp).Row
LettreDerCol = Left(Range("A1").End(xlToRight).Address
(False, False), 1)

LaPlageDuGraph = "A1:" & LettreDerCol & NoDernLig

Tu utilises ensuite ces coordonnées pour ton graph :
..SeriesCollection.Add Source:=Worksheets("Sheet1").Range
(LaPlageDuGraph)


Cordialement
Pascal



a écrit dans le
message de

news:2373001c45e7e$e6d33c70$
bonjour,


je veux faire un graphe avec du code VBA, mais je en
sais


pas a l'avance le nombre de series, ni la longueur de
chaque serie.

les series sont dans ma feuille 1 et le code que j'ai
pour le moment est :

j = 1
While Cells(1, j) <> ""
j = j + 1
Wend
j = j - 1

k = 2
While Cells(k, 1).Value <> ""
k = k + 1
Wend
k = k - 1

Charts.Add
With ActiveChart
.ChartType = xlLine
For i = 2 To j
.SeriesCollection.Add Source:=Worksheets
("Sheet1").Range


(Cells(1, i), Cells(k, j))
Next i

mais ca ne fonctionne pas.

merci de votre aide




.




Avatar
papou
Content de pouvoir aider ;-)

Cordialement
Pascal

a écrit dans le message de
news:234fd01c45e89$3025ca50$
Merci beaucoup papou, ca marche enfin !

je commenceais a m'arracher les cheveux !


-----Original Message-----
Bonjour
Tu construis l'adresse de la plage de données en
définissant la dernière

ligne et la dernière colonne avec par exemple :
Dim NoDernLig&, LettreDerCol$, LaPlageDuGraph$
NoDernLig = Range("A65536").End(xlUp).Row
LettreDerCol = Left(Range("A1").End(xlToRight).Address
(False, False), 1)

LaPlageDuGraph = "A1:" & LettreDerCol & NoDernLig

Tu utilises ensuite ces coordonnées pour ton graph :
..SeriesCollection.Add Source:=Worksheets("Sheet1").Range
(LaPlageDuGraph)


Cordialement
Pascal



a écrit dans le
message de

news:2373001c45e7e$e6d33c70$
bonjour,


je veux faire un graphe avec du code VBA, mais je en
sais


pas a l'avance le nombre de series, ni la longueur de
chaque serie.

les series sont dans ma feuille 1 et le code que j'ai
pour le moment est :

j = 1
While Cells(1, j) <> ""
j = j + 1
Wend
j = j - 1

k = 2
While Cells(k, 1).Value <> ""
k = k + 1
Wend
k = k - 1

Charts.Add
With ActiveChart
.ChartType = xlLine
For i = 2 To j
.SeriesCollection.Add Source:=Worksheets
("Sheet1").Range


(Cells(1, i), Cells(k, j))
Next i

mais ca ne fonctionne pas.

merci de votre aide




.