XL 2010 serie graphique, VBA

  • Initiateur de la discussion Initiateur de la discussion CB60
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CB60

XLDnaute Barbatruc
Bonjour a Tous

Connaissez vous la formulation en vba pour cette commande:
If ActiveChart.SeriesCollection(i) = "#ref" Then
je souhaite controler si la série est en erreur, si oui la supprimer, si non, passer à la suivante.
Ce que j'ai mis en exemple plante
 
Bonsoir Dranreb
Bon, j'ai testé mais ça ne fonctionne pas!!
Voici la macro complète au cas ou?
Sub controlegraph()
Dim Graph As ChartObject
Dim WS As Worksheet
Dim Sc
Sc = ActiveChart.SeriesCollection.Count 'Graph.Chart.SeriesCollection.Count
MsgBox Sc
For Each WS In Worksheets
For Each Graph In WS.ChartObjects
For i = Sc To 1 Step -1
If IsError(ActiveChart.SeriesCollection(i)) Then
ActiveChart.SeriesCollection(i).Delete
End If
Next i
Next Graph
Next WS

End Sub
Merci tout de même
 
Un ChartObject n'a pas de propriété SeriesCollection. C'est un objet Chart qui en a une.
Mais un ChartObject a une propriété Chart qui elle en est un.

À la base un Chart représente une variété de feuille Excel, mais peu de gens pensent à l'implanter normalement de cette façon. Mais elle peut être incorporée à une feuille de calcul grâce à un support intermédiaire que est représenté par un ChartObject.
 
Dernière édition:
Bonsoir le fil, le forum

Rien ne se perd, tout se transforme 😉
Sub Del_RefExt()
' Modeste GeeDee MPFE 9 avril 2004
For Idxgraphe = 1 To ActiveSheet.ChartObjects.Count
ActiveSheet.ChartObjects(Idxgraphe).Activate
With ActiveChart
.ChartArea.Select
'---- dénombrement inversé !!!!!
For i = .SeriesCollection.Count To 1 Step -1
Serie$ = "'" & .SeriesCollection(i).Formula
If InStr(Serie$, "#REF") <> 0 Then
rep = MsgBox("ref externe non valide !" & Chr(10) _
& "Série N°" & i & Chr(10) _
& Serie$, _
vbYesNo + vbQuestion, _
"Supprimer Serie Fantome !!")
If rep = vbYes Then .SeriesCollection(i).Delete
End If
Next
End With
Next Idxgraphe
End Sub
source vieille de 13 ans 😉
 
Re
J'ai pris le problème dans un autre sens!!!
A la place de supprimer les lignes dont je n'avais pas besoin, je les masque, et mon graphique s'adapte au lignes visibles,
Plus simple que la boucle dans le graphique, mais bon j'aurais bien aimé trouver une solution avec la gestion des erreurs!!
Merci à vous deux
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
427
Réponses
10
Affichages
531
Réponses
7
Affichages
432
Retour