la macro se plante sur mon graphisme

Le
Jean-Claude
Bonjour,

sous Excel j'ai une macro utilisée depuis 2 ans, tous les mois. Or
maintenant elle se plante et je n'arrive pas à en déterminer la cause :


Set a = Union(Sheets("Param").Range("A1:B1"), _
Sheets("Param").Range(Sheets("Param").Cells(3, 1),
Sheets("Param").Cells(rp, 2)), _
Sheets("Param").Range(Sheets("Param").Cells(1, cp),
Sheets("Param").Cells(1, cp)), _
Sheets("Param").Range(Sheets("Param").Cells(3, cp),
Sheets("Param").Cells(rp, cp)))
Charts.Add
ActiveChart.Name = Sheets("Param").Cells(1, cp)
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=a, PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Delete
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphiques"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = Sheets("Param").Cells(2, cp)
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.HasLegend = False
x = .SeriesCollection.Count
.SeriesCollection(1).Border.ColorIndex = 3 (1)
.SeriesCollection(1).Select (2)


La macro se plante sur la ligne (1) ou (2) (si je supprime l'une, ca se
plante sur l'autre, et d'autres suivent du même genre pour la mise en forme)
en 1004 "erreur définie par l'application ou l'objet".
x = 2 donc j'ai bien mes 2 séries
pourtant quand je regarde les valeurs de ces 2 séries dans l'espion,
plusieurs zones (dont colorIndex) sont à "Impossible de lire la
propriété"

Une explication ? Je suis un peu perdu
Si besoin je peux mettre à dispo un exemple de mon fichier.
Merci bien.

Jean-Claude
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Claude
Le #24791802
Oups j'oubliais :
Excel 2002 (sur XP et Seven).
Jean-Claude
MichD
Le #24792142
Bonjour,

Essaie comme ceci :

'------------------------------------------------
Sub test()
Dim A As Range, Rp As Long, Cp As Long, Sh As Worksheet

Rp = 2: Cp = 10
Set Sh = Sheets("Param")

With Sh
.Activate
Set A = Union(.Range("A1:B1"), .Range(.Cells(3, 1), .Cells(Rp, 2)), _
.Range(.Cells(1, Cp), .Cells(1, Cp)), _
.Range(.Cells(3, Cp), .Cells(Rp, Cp)))
Charts.Add
With ActiveChart
.Name = Sh.Cells(1, Cp)
.ChartType = xlLine
.SetSourceData Source:=A, PlotBy:=xlColumns
.SeriesCollection(1).Delete
.HasTitle = True
.ChartTitle.Characters.Text = Sh.Cells(2, Cp)
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.HasLegend = False
x = .SeriesCollection.Count
.SeriesCollection(1).Border.ColorIndex = 3
.SeriesCollection(1).Select
.Location Where:=xlLocationAsObject, Name:="Graphiques"
End With
End With

End Sub
'------------------------------------------------





MichD
---------------------------------------------------------------
"Jean-Claude" a écrit dans le message de groupe de discussion :
5057554b$0$18070$

Bonjour,

sous Excel j'ai une macro utilisée depuis 2 ans, tous les mois. Or
maintenant elle se plante et je n'arrive pas à en déterminer la cause :

...
Set a = Union(Sheets("Param").Range("A1:B1"), _
Sheets("Param").Range(Sheets("Param").Cells(3, 1),
Sheets("Param").Cells(rp, 2)), _
Sheets("Param").Range(Sheets("Param").Cells(1, cp),
Sheets("Param").Cells(1, cp)), _
Sheets("Param").Range(Sheets("Param").Cells(3, cp),
Sheets("Param").Cells(rp, cp)))
Charts.Add
ActiveChart.Name = Sheets("Param").Cells(1, cp)
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=a, PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Delete
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphiques"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = Sheets("Param").Cells(2, cp)
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
.HasLegend = False
x = .SeriesCollection.Count
.SeriesCollection(1).Border.ColorIndex = 3 (1)
.SeriesCollection(1).Select (2)
...

La macro se plante sur la ligne (1) ou (2) (si je supprime l'une, ca se
plante sur l'autre, et d'autres suivent du même genre pour la mise en forme)
en 1004 "erreur définie par l'application ou l'objet".
x = 2 donc j'ai bien mes 2 séries
pourtant quand je regarde les valeurs de ces 2 séries dans l'espion,
plusieurs zones (dont colorIndex) sont à "Impossible de lire la
propriété..."

Une explication ? Je suis un peu perdu...
Si besoin je peux mettre à dispo un exemple de mon fichier.
Merci bien.

Jean-Claude
Jean-Claude
Le #24793762
Merci de la réponse... qui m'a permis de trouver le problème.
En simplifiant la macro à l'extrême, je me rends compte avec honte que le
problème vient des données : une colonne entière était vide !
Merci encore
Jena-Claude
Publicité
Poster une réponse
Anonyme