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
 
exactement !!!
Bon c'est résolu, dites le …
je refais la macro comme suit mais on dirait un détail m'échappe..
Pouvez vous voir avec moi ?
VB:
Sub colorChart()
    Dim cht As Chart
    Dim ser As Series
    Dim i As Integer
    Dim pt As Point
    For i = 1 To 4
        Set cht = ThisWorkbook.Sheets("DASHBORD").ChartObjects("Graphique " & i).Chart
        Set ser = cht.SeriesCollection(1)
        Set pt = ser.Points(5)
        pt.MarkerBackgroundColor = RGB(255, 0, 0)
    Next i
End Sub
 
je ne sais même pas si un point de série en histogramme peut posséder une marque.
En tout cas elle a un Format.Fill comme la série.
Il suffit de remplacer dans votre code initial With Ser.Format.Fill par With Ser.Points(5).Format.Fill.
 
Il n'y a qu'une seule série dans tous vos graphiques.
Je suppose que c'est plutôt le dernier point de chacune que vous voulez mettre en rouge.
Voir leur propriété Points.
j'ai essayer ca mais quelque chose ne va pas
VB:
Sub colorChart()
    Dim cht As Chart
    Dim ser As Series
    Dim i As Integer
    Dim pt As Point
    For i = 1 To 4
        Set cht = ThisWorkbook.Sheets("DASHBORD").ChartObjects("Graphique " & i).Chart
        Set ser = cht.SeriesCollection(1)
        Set pt = ser.Points(5)
        With pt
         .MarkerBackgroundColor = RGB(255, 0, 0)
        End With
    Next i
End Sub
 
Notez que vous n'avez pas besoin de tant de variables pour des objets partout utilisés une seule fois.
Ça marche très bien aussi comme ça :
VB:
Sub ColorChart()
   Dim I As Integer
   For I = 1 To 4
      With ThisWorkbook.Sheets("DASHBORD").ChartObjects("Graphique " & I).Chart
         .SeriesCollection(1).Points(5).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
         End With
      Next I
   End Sub
 
Notez que vous n'avez pas besoin de tant de variables pour des objets partout utilisés une seule fois.
Ça marche très bien aussi comme ça :
VB:
Sub ColorChart()
   Dim I As Integer
   For I = 1 To 4
      With ThisWorkbook.Sheets("DASHBORD").ChartObjects("Graphique " & I).Chart
         .SeriesCollection(1).Points(5).Format.Fill.ForeColor.RGB = RGB(255, 0, 0)
         End With
      Next I
   End Sub
Bien reçu
Merci !!!
 
- 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
856
Retour