Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Changer Couleur série d'un graphique

  • Initiateur de la discussion Initiateur de la discussion KTM
  • 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 !

KTM

XLDnaute Impliqué
Bonjour chers tous
Je voudrais attribuer la couleur rouge à la dernière série de chacun des quatre graphiques présents sur ma feuille "DASHBORD" par macro.
J'ai le code ci dessous mais il me renvoie une erreur.
Aidez moi à le corriger.
Merci

VB:
Sub colorChart()
    Dim cht As Chart
    Dim ser As Series
    Dim i As Integer
    For i = 1 To 4
                Set cht = ThisWorkbook.Sheets("DASHBORD").Charts("Graphique " & i)
                Set ser = cht.SeriesCollection(5)
            
                With ser.Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(255, 0, 0)
                End With
   Next i
End Sub
 
En effet un Worksheet n'a pas de collection Charts mais une collection ChartObjects
J'aurais donc peut être plutôt fait :
VB:
Sub ColorChart()
   Dim COt As ChartObject, Cht As Chart, Ser As Series
   For Each COt In ThisWorkbook.Sheets("DASHBORD").ChartObjects
      Set Cht = COt.Chart
      Set Ser = Cht.SeriesCollection(5)
      With Ser.Format.Fill
         .Visible = msoTrue
         .ForeColor.RGB = RGB(255, 0, 0)
         End With
      Next COt
   End Sub
 
Une autre erreur 1004
paramètre non valide
VB:
      Set Ser = Cht.SeriesCollection(5)
 
Bonsoir KTM,

D'après votre code il y a 5 séries dans chaque graphique, il n'y a donc qu'une ligne à corriger :
VB:
Sub colorChart()
    Dim cht As Chart
    Dim ser As Series
    Dim i As Integer
    For i = 1 To 4
                Set cht = ThisWorkbook.Sheets("DASHBORD").ChartObjects("Graphique " & i).Chart
                Set ser = cht.SeriesCollection(5) 'il y a 5 séries dans chaque graphique
            
                With ser.Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(255, 0, 0)
                End With
   Next i
End Sub
A+
 
MEME ERREUR sur la même instruction...
VB:
Set ser = cht.SeriesCollection(5)
 
- 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
0
Affichages
613
Réponses
8
Affichages
1 K
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
922
Réponses
2
Affichages
857
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…