Itération dans une macro
tuturdp2013
Messages postés
3
Statut
Membre
-
Le Pingou Messages postés 12273 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12273 Date d'inscription Statut Contributeur Dernière intervention -
Salut à tous!
je ne parviens pas à réaliser l'itération dans ma macro! voila mon problème: je veux créer un graphe avec trois champs ce que je parviens à faire en répétant les modifs manuellement dans la macro. Mais j'ai l'impression que la macro n'accepte qu'un nombre limité d'opérations donc il faut que je passe par une itération...qui ne marche pas
Le bug apparait à partir de la ligne en gras
merci bcp!
Sub Macrofinalrov()
'
' Macrofinalrov Macro
'
'
Range("A2:C2").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Range("'Commandes'!$A$2:$C$2")
ActiveChart.SeriesCollection(1).XValues = "='Commandes'!$B$2"
ActiveChart.SeriesCollection(1).Values = "='Commandes'!$C$2"
For i = 2 To 37 'lance i
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(i).Select
ActiveChart.SeriesCollection(i).Range = "=Commandes!A" & i 'ok
ActiveChart.SeriesCollection(i).XValues = "=Commandes!B" & i 'ok
ActiveChart.SeriesCollection(i).Values = "=Commandes!C" & i 'ok
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.SeriesCollection(i).Select
ActiveChart.SeriesCollection(i).Points(1).Select
With Selection
.MarkerStyle = 1
.MarkerSize = 7
End With
Selection.MarkerStyle = 1
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.Solid
End With
Next i ' passe à i+1
End Sub
je ne parviens pas à réaliser l'itération dans ma macro! voila mon problème: je veux créer un graphe avec trois champs ce que je parviens à faire en répétant les modifs manuellement dans la macro. Mais j'ai l'impression que la macro n'accepte qu'un nombre limité d'opérations donc il faut que je passe par une itération...qui ne marche pas
Le bug apparait à partir de la ligne en gras
merci bcp!
Sub Macrofinalrov()
'
' Macrofinalrov Macro
'
'
Range("A2:C2").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Range("'Commandes'!$A$2:$C$2")
ActiveChart.SeriesCollection(1).XValues = "='Commandes'!$B$2"
ActiveChart.SeriesCollection(1).Values = "='Commandes'!$C$2"
For i = 2 To 37 'lance i
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(i).Select
ActiveChart.SeriesCollection(i).Range = "=Commandes!A" & i 'ok
ActiveChart.SeriesCollection(i).XValues = "=Commandes!B" & i 'ok
ActiveChart.SeriesCollection(i).Values = "=Commandes!C" & i 'ok
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.SeriesCollection(i).Select
ActiveChart.SeriesCollection(i).Points(1).Select
With Selection
.MarkerStyle = 1
.MarkerSize = 7
End With
Selection.MarkerStyle = 1
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.Solid
End With
Next i ' passe à i+1
End Sub
3 réponses
-
bonjour
sans savoir ce qui ne marche pas, ni le message d'erreur, ni le fichier pour mener des test, pas facile de répondre.
SiActiveChart.SeriesCollection(1).XValues = "='Commandes'!$B$2"
fonctionne, la différence avecActiveChart.SeriesCollection(i).Range = "=Commandes!A" & i 'ok
c'est les apostrophes autour de Commandes -
Bonjour,
le texte d'erreur est " Erreur d'exécution 438. Propriété ou méthode non gérée par cet objet". tu sais ce que cela veut dire?
meme en insérant des apostrophes autour cela ne marche pas. -
Bonjour,
Au passage, il faut insérer le signe ($) dans votre ligne en gras comme suit :ActiveChart.SeriesCollection(i).Range = "='Commandes'!$A$" & i ' ok
Salutations.
Le Pingou