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

ypelissier

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

Quelqu'un a une idée ?

Merci
 

mromain

XLDnaute Barbatruc
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

A+
 

ypelissier

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

Merci
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87