Itération dans une macro

Fermé
tuturdp2013 Messages postés 3 Date d'inscription mercredi 18 juillet 2012 Statut Membre Dernière intervention 19 juillet 2012 - 18 juil. 2012 à 19:36
Le Pingou Messages postés 12222 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 3 décembre 2024 - 21 juil. 2012 à 22:15
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

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 Date d'inscription mercredi 18 juillet 2012 Statut Membre Dernière intervention 19 juillet 2012
Modifié par tuturdp2013 le 19/07/2012 à 15:26
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 12222 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 3 décembre 2024 1 452
Modifié par Le Pingou le 21/07/2012 à 22:17
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