VBA Ajout d'une série de trop

Matt51

XLDnaute Nouveau
Bonjour,

Pour créé un graphique j'utilise le code suivant :

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterSmooth
Set graphActu = ActiveChart

For i = 1 To NbreLot

graphActu.SeriesCollection.NewSeries
graphActu.SeriesCollection(i).Name = "Lot " & Lot(i - 1)
graphActu.SeriesCollection(i).XValues = Xaxe 'série axe x
'détermine la plage de cellules des ordonnées
Module9.AxeY
graphActu.SeriesCollection(i).Values = axe_Y 'série axe y
'mef traits et puces
Module9.MEFSérie

Next i

Nbrelot est égal à 3, la boucle s'exécute bien trois fois. Et au final je me retrouve avec 4 séries, mes trois premières sont celles que je veux (ex : Lot A, Lot B, Lot C) plus une quatrième qu'il appelle Série 4.

Hors cette dernière je ne l'ai pas créé.

Quelqu'un aurait-il une idée ?

Merci d'avance.

A+, Matt.
 

Iznogood1

XLDnaute Impliqué
Re : VBA Ajout d'une série de trop

Bonjour,

Si la cellule active quand tu lances ta macro est au sein d'une plage, Excel crée un graphique avec les données de la plage sans te demander ton avis.
Ton code fonctionne "normalement" si tu sélectionnes une cellule vide isolée avant de créer le graphique

Pour t'affranchir du problème, il suffit d'enlever les éventuelles séries créées automatiquement :
Code:
ActiveSheet.Shapes.AddChart(xlXYScatterSmooth).Select
Set graphActu = ActiveChart

While graphActu.SeriesCollection.Count > 0
  graphActu.SeriesCollection(1).Delete
Wend

For i = 1 To NbreLot
...
 

Statistiques des forums

Discussions
312 272
Messages
2 086 689
Membres
103 372
dernier inscrit
BibiCh