Erreur 1004 macro pour un graphique

Bonjour tout le monde,

J'ai une erreur qui est apparu dans une macro mais je ne comprends pas trop pourquoi et surtout comment la résoudre.

Le but de la macro est d'ajuster automatiquement la plage de donnée pour que l'échelle de mes graphiques soient la meilleur possible.

J'ai fait des changement depuis le moment à ça marchait à savoir :

  • Supression de graphique n°5 et 8
  • Décalage des colonnes de données après la C (j'ai rajouté une colonne après du coup tout devait être décalé. Normalement j'ai rectifié dans ma macro ceci mais j'ai toujours le même message d'erreur.

Voici l'erreur : Erreur d'exécution '1004' : Erreur définie par l'application ou par l'objet en me surlignant cette partie : Set CH = s.ChartObjects(z&) en début de code

Voici le code :

Sub test()

Sheets("ZE RI").Select
Set s = ActiveSheet
For z& = 1 To 7
  Set CH = s.ChartObjects(z&)
  Select Case z&                                                ' Case 5 est absent car graphique supprimé'
    Case 1
      Set R = s.Range("$H$3:$H$" & s.[H3].End(xlDown).Row)
      a$ = "=SERIES(,'" & s.Name & "'!" & R.Address & _
         ",'" & s.Name & "'!" & R.Offset(0, 1).Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 2
      Set R = s.Range("$A$3:$A$" & s.[A3].End(xlDown).Row)
      a$ = "=SERIES(,'" & s.Name & "'!" & R.Address & _
         ",'" & s.Name & "'!" & R.Offset(0, 1).Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 3
      Set R = s.Range("$C$3:$C$" & s.[C3].End(xlDown).Row)
      a$ = "=SERIES(,,'" & s.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 4
      Set R = s.Range("$J$3:$J$" & s.[I3].End(xlDown).Row)
      a$ = "=SERIES(,,'" & s.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 6
      Set R = s.Range("$H$3:$H$" & s.[H3].End(xlDown).Row)
      a$ = "=SERIES(,,'" & s.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 7
      Set R = s.Range("$A$3:$A$" & s.[A3].End(xlDown).Row)
      a$ = "=SERIES(,'" & s.Name & "'!" & R.Address & _
         ",'" & s.Name & "'!" & R.Offset(0, 1).Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
  End Select
Next z&
End Sub

Et voici en gros le même code qui marche :

Sheets("ZN 2 Retour").Select
Set s = ActiveSheet
For z& = 1 To 3
  Set CH = s.ChartObjects(z&)
  Select Case z&
    Case 1
      Set R = s.Range("$A$3:$A$" & s.[A3].End(xlDown).Row)
      a$ = "=SERIES(,'" & s.Name & "'!" & R.Address & _
         ",'" & s.Name & "'!" & R.Offset(0, 1).Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 2
      Set R = s.Range("$C$3:$C$" & s.[C3].End(xlDown).Row)
      a$ = "=SERIES(,,'" & s.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
    Case 3
      Set R = s.Range("$A$3:$A$" & s.[A3].End(xlDown).Row)
      a$ = "=SERIES(,,'" & s.Name & "'!" & R.Address & ",1)"
      CH.Chart.SeriesCollection(1).Formula = a$
  End Select
Next z&
[a1].Select

Quelqu'un à une idée du problème ??

Simon

PS : Sorry pour la gueule des macro il y a pas mal de bricolage dedans ...

bonjour

si tu as détruit tes graphiques 5 et 8, as-tu encore 7 graphiques ?

sinon, ton instruction set ch=s.ChartObjects(z&) se plantera quand Z& aura la valeur 7.

si tu as encore 7 graphiques,

mets-nous ton fichier.

edit correct phot d'ortograf

Bonjour,

Quand ça plante regarde la valeur de z&.

Ce graphique n'existe pas.

eric

Comment savoir sa valeur au moment du plantage ? Une astuce qu'on m'aurait caché ? ^^

Voici les différents définitions, j'aurai du mettre ça dès le début.

Dim s As Worksheet

Dim CH As ChartObject

Dim R As Range

Dim z&

Dim a$

Comment savoir sa valeur au moment du plantage ?

1)Amener le curseur dessus, sa valeur apparait dans un tiptext

2) ou sélectionner le nom de la variable et le faire glisser dans la fenêtre Espion.

Valable également pour une expression.

eric

Ahhh merci,

Alors ça me donne le chiffre 7, du coup c'est le "case 7" (donc graphique 7) qui poserait problème c'est ça ?

Voilà, pas sous ce nom là où tu le cherches.

http://www.commentcamarche.net/contents/1381-debogage

eric

Merci Eric,

Avec le lien et en creusant bien les méninges, j'y suis enfin arrivé !!

Rechercher des sujets similaires à "erreur 1004 macro graphique"