Bonjour,
Je connais relativement bien excel, mais pas du tout les objets graphiques. J'ai donc enregistré 2 actions pour supprimer puis rajouter une courbe d'un graphique existant.
Voici le code généré par l'enregistreur de macro :
Voici mon code VBA :
Code:
Sub Macro1()
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.SeriesCollection(1).Select
Selection.Delete
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = "=BD!$F$321:$T$321"
ActiveChart.SeriesCollection(1).Name = "=""Test"""
End Sub
J'annule ces 2 actions pour revenir aux conditions de départ et tester la macro (je sais que je peux faire plus court, mais comme ça ne fonctionne pas pour le moment, je verrais plus tard pour raccourcir le nombre de lignes de code).
A la seconde ligne, j'ai une erreur m'informant que "La méthode 'Select' de l'objet 'Series' a échoué".
Bien sûr qu'il y a une courbe dans le graphique, et j'en ai la preuve par le graphique, mais aussi en ajoutant un espion ActiveChart.SeriesCollection(1) qui me donne toutes les propriétés de la Series.
Bon, je sélectionne manuellement ma courbe et passe à la ligne suivante... Et là, même erreur sur la méthode Delete...
Bon !!! Je le fait et passe de nouveau manuellement, et maintenant j'ai encore la même erreur sur la méthode NewSeries pour l'objet SeriesCollection.
Ce que je ne comprends pas, c'est que c'est une macro enregistré par Excel qui n'arrive même pas à s'exécuter, comme si l'objet Series et SeriesCollection avaient perdu ses méthodes en fait...
Re : Méthode d'objet Series et SeriesCollection qui échouent
Bonjour ypelissier,
Voici un exemple :
VB:
Sub test()
Dim graph As Chart, serieDonnee As Series
'récupérer le graphique
Set graph = ThisWorkbook.Sheets("Feuil1").ChartObjects("Graphique 1").Chart
'supprimer toutes les séries
While graph.SeriesCollection.Count > 0
graph.SeriesCollection(1).Delete
Wend
'ajouter une série
Set serieDonnee = graph.SeriesCollection.NewSeries
serieDonnee.Name = "test"
serieDonnee.Values = "=Feuil1!A1:A10"
End Sub
Re : Méthode d'objet Series et SeriesCollection qui échouent
Bon ben voilà, comme souvent, exposer son problème engage une petite discussion et réflexion permettant de résoudre le problème.
Donc, pour info, la personne qui avait fait le code initial, et que je devais corriger, avait codé la protection de la feuille dans les evènements. Aussi, le code ne pouvait pas marché, aussi bien le sien, que le mien pour tester que celui qui m'a été évoqué ici.
C'est null, mais je n'avais pas pensé à ça en cherchant la raison du blocage.
En tout cas, si j'ai de nouveau ce message d'erreur de méthode qui échoue, je penserais à la protection de la feuille.