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

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