Bonjour, tout est dans le titre, je crée un graph en VBA de cette façon :
Code:
Sheets("saisie").Activate
ActiveSheet.Shapes.AddChart.Select
With ActiveChart
.SetSourceData Source:=Range("'Feuil1'!$D$1:$D$9")
.ChartType = xlBarClustered
.Legend.Select
selection.Delete
.PlotBy = xlColumns
.Axes(xlValue).Select
.Axes(xlValue).MinimumScale = -5
.Axes(xlValue).MaximumScale = 5
selection.MajorTickMark = xlCross
.Axes(xlCategory).Select
selection.MajorTickMark = xlCross
End With
j'ai assez régulièrement une "erreur 1004 définie par l'application ou l'objet" au niveau de la seconde ligne. Il me semble que ça vient du fait que je fasse 2 actions dans la même instruction (addchart et select). J'ai essayé de supprimer le select, pensant que le graph crée serait directement sélectionné, mais j'ai un problème après dans le with.
Re : ActiveSheet.Shapes.AddChart.Select : erreur 1004
Bonjour
J'ajouterai juste que pour accéder au graphique sans avoir besoin de le sélectionner,
travailler sur la propriété Chart du ChartObject.
Cordialement
Re : ActiveSheet.Shapes.AddChart.Select : erreur 1004
RESOLU
Pour moi l'erreur était la suivante:
On peut pas faire:
Code:
Range("B6:F6,B9:F9").Select
car on sectionnelle deux lignes que sont pas collés. Excel ne l'aime pas.
Il n'a droit à ne sélectionner que des ligne que sont collés, comme en:
Code:
Range("B6:F9").Select
Donc, l'erreu n'est pas sur la ligne:
Code:
ActiveSheet.Shapes.AddChart.Select
mais sur la sélection.
La solution c'est sélectionner plusieurs lignes, même avec des donnés qu'on souhaite pas. Après, on clique sur le graphe et on enlève les données que nous n'interesent pas. Comme ça le code n'est pas propre, mais ça marche...