VBA Création de graphique dans une boucle
Résolu
Currahee
Messages postés
18
Statut
Membre
-
Currahee Messages postés 18 Statut Membre -
Currahee Messages postés 18 Statut Membre -
Bonjour,
Je suis en train de travailler sur un programme dans lequel j'ai une boucle qui m'ecrit des séries de 100 chiffres dans une feuille excel.
Au premier tour de ma boucle, mes chiffres sont inscrits dans la première colonne de ma feuille (colonne A), au second tour de boucle mes nouveaux chiffres sont inscrits dans la colonne suivante (colonne B), etc...
Je veux, et c'est là mon problème, incorporer dans la boucle une création de graphique associée à chaque série de données:
ActiveChart.SetSourceData Source:=Sheets("Capital").Range("A1:A100"), PlotBy _
:=xlColumns
Mon PROBLEME: comment changer la source de données du graphique -> avoir un range dynamique qui au premier tour de boucle sera la première colonne, au second la deuxieme colonne etc..
J'ai essayé de remplacer la ligne de code précédente par:
ActiveChart.SetSourceData Source:=Sheets("Capital").Range(Cells(1,i):Cells(100,i)), PlotBy _
:=xlColumns
i étant mon compteur de colonne
Mais ça ne fonctionne pas... :-(
Merci d'avance pour vos réponses,
Je suis en train de travailler sur un programme dans lequel j'ai une boucle qui m'ecrit des séries de 100 chiffres dans une feuille excel.
Au premier tour de ma boucle, mes chiffres sont inscrits dans la première colonne de ma feuille (colonne A), au second tour de boucle mes nouveaux chiffres sont inscrits dans la colonne suivante (colonne B), etc...
Je veux, et c'est là mon problème, incorporer dans la boucle une création de graphique associée à chaque série de données:
ActiveChart.SetSourceData Source:=Sheets("Capital").Range("A1:A100"), PlotBy _
:=xlColumns
Mon PROBLEME: comment changer la source de données du graphique -> avoir un range dynamique qui au premier tour de boucle sera la première colonne, au second la deuxieme colonne etc..
J'ai essayé de remplacer la ligne de code précédente par:
ActiveChart.SetSourceData Source:=Sheets("Capital").Range(Cells(1,i):Cells(100,i)), PlotBy _
:=xlColumns
i étant mon compteur de colonne
Mais ça ne fonctionne pas... :-(
Merci d'avance pour vos réponses,
A voir également:
- VBA Création de graphique dans une boucle
- Changer de carte graphique - Guide
- Creation de site web - Guide
- Creation de compte google - Guide
- Creation compte gmail - Guide
- Création graphique en ligne gratuit - Guide
2 réponses
J'ai finalement trouvé la solution...
Je pense au vu de la soluce trouvée qu'il va falloir que je me familiarise avec la commande set que j'avais négligé jusque-là... :oops:
SOLUTION:
Dim Donnees As Range
Set Donnees = Worksheets("Capital").Range(Worksheets("Capital").Cells(1, i), Worksheets("Capital").Cells(100, i))
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Donnees, PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=Equipe(i)
PS: Merci pour la réponse sur l'erreur de syntaxe, mais même avec une virgule à la place des 2 points, ça plante...
Je pense au vu de la soluce trouvée qu'il va falloir que je me familiarise avec la commande set que j'avais négligé jusque-là... :oops:
SOLUTION:
Dim Donnees As Range
Set Donnees = Worksheets("Capital").Range(Worksheets("Capital").Cells(1, i), Worksheets("Capital").Cells(100, i))
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Donnees, PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=Equipe(i)
PS: Merci pour la réponse sur l'erreur de syntaxe, mais même avec une virgule à la place des 2 points, ça plante...