Méthode d'objet Series et SeriesCollection qui échouent

ypelissier Messages postés 23 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mai 2013 - 11 déc. 2012 à 10:51
ypelissier Messages postés 23 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mai 2013 - 21 déc. 2012 à 12:57
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 :
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...

Quelqu'un a une idée ?

Merci

4 réponses

ypelissier Messages postés 23 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mai 2013
11 déc. 2012 à 14:38
Petite précision, je suis avec Excel 2010 sous Windows 7, sait-on jamais...
0
ypelissier Messages postés 23 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mai 2013
19 déc. 2012 à 13:26
Quelqu'un pour une ébauche d'explication ???

Merci
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
19 déc. 2012 à 15:35
Pas certain de pouvoir t'aider, mais si tu changeais ceci
ActiveChart.SeriesCollection(1).Select
Selection.Delete
ActiveSheet.ChartObjects("Graphique 1").Activate 'effacer cette ligne

par ceci
ActiveChart.SeriesCollection(1).Delete

D'une part, il faut éviter les Select
Et je ne vois pas la nécessité d'avoir 2 fois la même ligne Activate du ChartObject

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
ypelissier Messages postés 23 Date d'inscription vendredi 16 mars 2012 Statut Membre Dernière intervention 16 mai 2013
21 déc. 2012 à 12:57
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 marcher, aussi bien le sien, que le mien pour tester.

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.

Merci
0
Rejoignez-nous