Itération dans une macro

tuturdp2013 Messages postés 3 Statut Membre -  
Le Pingou Messages postés 12713 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
A voir également:

3 réponses

Paf
 
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.

Si
ActiveChart.SeriesCollection(1).XValues = "='Commandes'!$B$2"
fonctionne, la différence avec
ActiveChart.SeriesCollection(i).Range = "=Commandes!A" & i 'ok
c'est les apostrophes autour de Commandes
0
tuturdp2013 Messages postés 3 Statut Membre
 
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.
0
Le Pingou Messages postés 12713 Date d'inscription   Statut Contributeur Dernière intervention   1 467
 
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
0