Petit pb VBA

Résolu/Fermé
Reivax91 Messages postés 253 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 30 juillet 2014 - 14 juin 2011 à 12:31
Reivax91 Messages postés 253 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 30 juillet 2014 - 20 juin 2011 à 15:26
Bonjour,
J'ai créé un programme qui réalise des graphiques à partir de feuilles excel.
Tout fonctionne correctement, et à la fin je veux renommer mes series afin qu'elles aient le nom d'une cellule spécifique (Feuille "Stats", colonne B). Voici mon code :
For i = 0 To NbLigne
        ActiveChart.SeriesCollection("" & i).Name = "=Stats!$B$" & (i + 4)
Next i

En gros pour la serie 1, je veux qu'elle ai le nom de la cellule B5 (1+4) de la feuille "Stats".
Je n'ai pas vraimment de problème, ça fonctionne bien, sauf que tout à la fin il me dit : "Erreur d'exécution '1004':Paramètre non valide"
Il le deboggeur me pointe la ligne "ActiveChart.SeriesCollection..."
D'après ce que j'ai pu testé, il n'aime pas la variable dans le nouveau nom. Mais ce n'est pas pour autant qu'il refuse de les renommer correctement, donc il comprend mon code tout de meme.
Peut-être y a t-il une syntaxe plus correcte ? Laquelle svp ?
Merci !!

2 réponses

melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
14 juin 2011 à 13:37
bonjour,

tout simplement parce que tu lui demandes de commencer à 0 alors qu'il faut commencer par 1 :

For i = 1 To NbLigne
ActiveChart.SeriesCollection("" & i).Name = "=Stats!$B$" & (i + 4)
Next i
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
14 juin 2011 à 13:42
et j'avais pas vu mais il faut que tu modifies ton code comme suis :

For i = 1 To NbLigne
ActiveChart.SeriesCollection(i).Name = "=Stats!$B$" & (i + 4)
Next i
0
Reivax91 Messages postés 253 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 30 juillet 2014 28
14 juin 2011 à 16:06
Salut d'abord merci pour ta réponse, mais il semblerait que je sois obligé de commencer à 0 sinon il ne renomme pas la première serie :/
Autre chose, il ne veut pas du "SeriesCollection(i)", je suis obligé de laisser "SeriesCollection("" & i)" pour qu'il reconnaisse la variable
Mais j'ai quand même trouvé une solution, avec les données sur la meme feuille :
For i = 0 To NbLigne - 1
ActiveChart.SeriesCollection("" & i).Name = Range("A" & i + 31).Value
    Next i

Forcement si je commence à zéro, il faut soustraire 1 à NbLigne, je pense que c'est cela qui me générait l'erreur.
Encore merci
Bonne journée
Reivax
0
melanie1324 Messages postés 1505 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 154
14 juin 2011 à 16:16
peux-tu le mettre à résolu alors stp!!!
0
Reivax91 Messages postés 253 Date d'inscription mardi 30 novembre 2010 Statut Membre Dernière intervention 30 juillet 2014 28
20 juin 2011 à 15:26
Au tps pr moi
0