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

Problème VBA génération graphique

2 réponses
Avatar
ccriniti
Bonjour bonjour,

j'ai un script vba qui génère 6 graphiques (dans 6 feuilles différentes)
dans le meme fichier. Pour chaque graphique j'utilise ce code (plus ou moins)
au début :
Code:
Set mychart = xlapp.Charts.Add
mychart.ChartType = xlLine
For i = 1 To mychart.SeriesCollection.Count
mychart.SeriesCollection(1).Delete
Next i

For i = 3 To nbcol
mychart.SeriesCollection.NewSeries
mychart.SeriesCollection(i - 2).Name = "=tableaux_unites!R" & debut
& "C" & i
mychart.SeriesCollection(i - 2).Values = "=tableaux_unites!R" &
debut + 1 & "C" & i & ":R" & debut + 12 & "C" & i
Next i

et au final un mychart = nothing.

Cela marche bien pour les 5 graphiques sauf quand il arrive au dernier, il
me fait un erreur sur le mychart.SeriesCollection(1).Delete :
La méthode Delete de la classe Series a échoué

et ensuite une autre erreur sur mychart.SeriesCollection(i - 2).Name... :
Impossible de définir la propriété Name de la classe Series.

Est-ce que je fais un erreur à quelque part ? ce qui est bizarre c'est que
ça marche bien pour les 5 premiers graphiques.

Merci d'avance pour votre aide

2 réponses

Avatar
FILK
Bonjour,

J'ai déjà eu ce problème. Je ne l'ai pas résolu mais contourné : j'ai
d'abord nommé les plages de source des graphes puis j'ai associé aux graphes
les noms et non les plages.

Mais attention, ma réponse est hyper bancales.

Philippe.



Bonjour bonjour,

j'ai un script vba qui génère 6 graphiques (dans 6 feuilles différentes)
dans le meme fichier. Pour chaque graphique j'utilise ce code (plus ou moins)
au début :
Code:
Set mychart = xlapp.Charts.Add
mychart.ChartType = xlLine
For i = 1 To mychart.SeriesCollection.Count
mychart.SeriesCollection(1).Delete
Next i

For i = 3 To nbcol
mychart.SeriesCollection.NewSeries
mychart.SeriesCollection(i - 2).Name = "=tableaux_unites!R" & debut
& "C" & i
mychart.SeriesCollection(i - 2).Values = "=tableaux_unites!R" &
debut + 1 & "C" & i & ":R" & debut + 12 & "C" & i
Next i

et au final un mychart = nothing.

Cela marche bien pour les 5 graphiques sauf quand il arrive au dernier, il
me fait un erreur sur le mychart.SeriesCollection(1).Delete :
La méthode Delete de la classe Series a échoué

et ensuite une autre erreur sur mychart.SeriesCollection(i - 2).Name... :
Impossible de définir la propriété Name de la classe Series.

Est-ce que je fais un erreur à quelque part ? ce qui est bizarre c'est que
ça marche bien pour les 5 premiers graphiques.

Merci d'avance pour votre aide


Avatar
ccriniti
Pourrais-tu stp m'illustrer par un exemple ta méthode parce que je ne la
comprend pas.

Merci d'avance


Bonjour,

J'ai déjà eu ce problème. Je ne l'ai pas résolu mais contourné : j'ai
d'abord nommé les plages de source des graphes puis j'ai associé aux graphes
les noms et non les plages.

Mais attention, ma réponse est hyper bancales.

Philippe.



Bonjour bonjour,

j'ai un script vba qui génère 6 graphiques (dans 6 feuilles différentes)
dans le meme fichier. Pour chaque graphique j'utilise ce code (plus ou moins)
au début :
Code:
Set mychart = xlapp.Charts.Add
mychart.ChartType = xlLine
For i = 1 To mychart.SeriesCollection.Count
mychart.SeriesCollection(1).Delete
Next i

For i = 3 To nbcol
mychart.SeriesCollection.NewSeries
mychart.SeriesCollection(i - 2).Name = "=tableaux_unites!R" & debut
& "C" & i
mychart.SeriesCollection(i - 2).Values = "=tableaux_unites!R" &
debut + 1 & "C" & i & ":R" & debut + 12 & "C" & i
Next i

et au final un mychart = nothing.

Cela marche bien pour les 5 graphiques sauf quand il arrive au dernier, il
me fait un erreur sur le mychart.SeriesCollection(1).Delete :
La méthode Delete de la classe Series a échoué

et ensuite une autre erreur sur mychart.SeriesCollection(i - 2).Name... :
Impossible de définir la propriété Name de la classe Series.

Est-ce que je fais un erreur à quelque part ? ce qui est bizarre c'est que
ça marche bien pour les 5 premiers graphiques.

Merci d'avance pour votre aide