Petit pb VBA

Résolu
Reivax91 Messages postés 253 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax91 Messages postés 253 Date d'inscription   Statut Membre Dernière intervention   -
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 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
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 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
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   Statut Membre Dernière intervention   28
 
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 1504 Date d'inscription   Statut Membre Dernière intervention   155
 
peux-tu le mettre à résolu alors stp!!!
0
Reivax91 Messages postés 253 Date d'inscription   Statut Membre Dernière intervention   28
 
Au tps pr moi
0