Création d'un graphique par macro
Le
nicolasnr62

Bonjour à tous,
Je suis en train de réaliser une macro me servant à traiter un certain
nombre de données et qui doit me sortir au final un joli petit
graphique.
J'ai réalisé la partie calculatoire mais j'ai des difficultés
concernant la réalisation du graph.
Les données sources du graph sont réparties dans une feuille de
calcul. Je ne sais pas combien il y en aura à l'avance.
J'ai mis mes données source dans des strings :
Dim TabG(0 To 5) As String
J'ai créé une sous-procédure pour affecter mes valeurs aux diverses
séries TabG(i) en utilisant de la concaténation. Une série i est ainsi=
du type :
23,45,12,78,23
ou Note A,NoteB,NoteC,Note D,Note E
je crée ensuite un graph de la façon suivante :
Charts.Add
' définition du type
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:="Courbe -
Histo. 2 axes"
' définition des séries
For i = 1 To 5
ActiveChart.SeriesCollection(i).XValues = TabG(0)
ActiveChart.SeriesCollection(i).Values = TabG(i)
Next
ActiveChart.SeriesCollection(1).Name = "=""Cas"""
ActiveChart.SeriesCollection(2).Name = "=""Min"""
ActiveChart.SeriesCollection(3).Name = "=""Max"""
ActiveChart.SeriesCollection(4).Name = "=""Moy"""
ActiveChart.SeriesCollection(5).Name = "=""Med"""
Le problème est que çà coince avec une erreur d'execution 1004 : la
méthode SeriesCollection de l'objet _Chart a échoué
la première ligne activechart est surlignée en jaune
Quelqu'un aurait-il une idée pour me décoincer ???
Je suis en train de réaliser une macro me servant à traiter un certain
nombre de données et qui doit me sortir au final un joli petit
graphique.
J'ai réalisé la partie calculatoire mais j'ai des difficultés
concernant la réalisation du graph.
Les données sources du graph sont réparties dans une feuille de
calcul. Je ne sais pas combien il y en aura à l'avance.
J'ai mis mes données source dans des strings :
Dim TabG(0 To 5) As String
J'ai créé une sous-procédure pour affecter mes valeurs aux diverses
séries TabG(i) en utilisant de la concaténation. Une série i est ainsi=
du type :
23,45,12,78,23
ou Note A,NoteB,NoteC,Note D,Note E
je crée ensuite un graph de la façon suivante :
Charts.Add
' définition du type
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:="Courbe -
Histo. 2 axes"
' définition des séries
For i = 1 To 5
ActiveChart.SeriesCollection(i).XValues = TabG(0)
ActiveChart.SeriesCollection(i).Values = TabG(i)
Next
ActiveChart.SeriesCollection(1).Name = "=""Cas"""
ActiveChart.SeriesCollection(2).Name = "=""Min"""
ActiveChart.SeriesCollection(3).Name = "=""Max"""
ActiveChart.SeriesCollection(4).Name = "=""Moy"""
ActiveChart.SeriesCollection(5).Name = "=""Med"""
Le problème est que çà coince avec une erreur d'execution 1004 : la
méthode SeriesCollection de l'objet _Chart a échoué
la première ligne activechart est surlignée en jaune
Quelqu'un aurait-il une idée pour me décoincer ???
Peut-être (trop) simplement :
ActiveChart.SeriesCollection(1).Name = "Cas"
Cordialement.
Daniel
Bonjour à tous,
Je suis en train de réaliser une macro me servant à traiter un certain
nombre de données et qui doit me sortir au final un joli petit
graphique.
J'ai réalisé la partie calculatoire mais j'ai des difficultés
concernant la réalisation du graph.
Les données sources du graph sont réparties dans une feuille de
calcul. Je ne sais pas combien il y en aura à l'avance.
J'ai mis mes données source dans des strings :
Dim TabG(0 To 5) As String
J'ai créé une sous-procédure pour affecter mes valeurs aux diverses
séries TabG(i) en utilisant de la concaténation. Une série i est ainsi
du type :
23,45,12,78,23
ou Note A,NoteB,NoteC,Note D,Note E
je crée ensuite un graph de la façon suivante :
Charts.Add
' définition du type
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:="Courbe -
Histo. 2 axes"
' définition des séries
For i = 1 To 5
ActiveChart.SeriesCollection(i).XValues = TabG(0)
ActiveChart.SeriesCollection(i).Values = TabG(i)
Next
ActiveChart.SeriesCollection(1).Name = "=""Cas"""
ActiveChart.SeriesCollection(2).Name = "=""Min"""
ActiveChart.SeriesCollection(3).Name = "=""Max"""
ActiveChart.SeriesCollection(4).Name = "=""Moy"""
ActiveChart.SeriesCollection(5).Name = "=""Med"""
Le problème est que çà coince avec une erreur d'execution 1004 : la
méthode SeriesCollection de l'objet _Chart a échoué
la première ligne activechart est surlignée en jaune
Quelqu'un aurait-il une idée pour me décoincer ???
je suis d'accord que cette écriture est moins lourde, mais ce n'était
pas le problème (j'ai quand même changé)
ici l'adresse générée. Efface ou altère les données confidentielles.
Daniel
"Nyck0las"
non, çà ne change rien.
je suis d'accord que cette écriture est moins lourde, mais ce n'était
pas le problème (j'ai quand même changé)
http://cjoint.com/?mkpN4tpPz4
série et passer un tableau aux parpriétés Values et XValues. Regarde le
classeur à l'adresse :
http://cjoint.com/?mkrAphmgS4
Daniel
"Nyck0las"
ActiveChart.SeriesCollection.Add Source:=Sheets("Données").Range("C2")
par :
ActiveChart.SeriesCollection.NewSeries
Daniel
"Nyck0las"