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 ...