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

Mise en forme graphique

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

J

JJ1

Guest
Bonsoir,


Existe-t-il un moyen de mettre en forme une série de courbes deux par deux en 2 couleurs (hormis la première qui est toujours rouge) sans marqueur (et lissage si possible) sans faire une série à la fois? (j'ai environ 100 séries)
J'ai essayé en maintenant la touche ctrl ou shift sans effet.

Merci
Bonne soirée
 

Pièces jointes

Re : Mise en forme graphique

Salut JJ1,

Essaye avec le code suivant:

>>Sub couleur_graph()
>>
>>For i = 2 To 7
>> ActiveSheet.ChartObjects("Graphique 1").Activate
>> ActiveChart.SeriesCollection(i).Select
>> Selection.MarkerStyle = -4142
>> With Selection.Format.Line
>> .Visible = msoTrue
>>
>> If Cells(11 + i, 22).Value = "rouge" Then
>> .ForeColor.RGB = RGB(255, 0, 0)
>> ElseIf Cells(11 + i, 22).Value = "bleu" Then
>> .ForeColor.RGB = RGB(0, 176, 240)
>> End If
>>
>> End With
>>Next i
>>
>>End Sub

A noter que ce code est largement perfectible.
 
Re : Mise en forme graphique

Bonjour JJ1, Nairolf,

Code:
Sub CouleursSéries()
Dim s As Object, i%
For Each s In ActiveSheet.ChartObjects(1).Chart.SeriesCollection
  i = i + 1
  If i = 1 Or i Mod 2 = 0 Then s.Border.ColorIndex = 3
  If i > 1 And i Mod 2 Then s.Border.ColorIndex = 33
  s.MarkerStyle = xlNone
  s.Smooth = True 'lissage
Next
End Sub
A+
 
Re : Mise en forme graphique

Re,

Macro optimale :

Code:
Sub CouleursSéries()
Dim s As Object, i%
For Each s In ActiveSheet.ChartObjects(1).Chart.SeriesCollection
  i = i + 1
  s.Border.ColorIndex = IIf(i > 1 And i Mod 2, 33, 3)
  s.MarkerStyle = xlNone
  s.Smooth = True 'lissage
Next
End Sub
Bonne fin de soirée.

Edit : noter que s.Border.ColorIndex fonctionne sur Excel 2003 et versions antérieures.

A partir d'Excel 2007 il faut utiliser un autre code.

A+
 
Dernière édition:
Re : Mise en forme graphique

Bonjour JJ1, le forum,

Voici le code pour Excel 2010 :

Code:
Sub CouleursSéries()
Dim s As Object, i%
For Each s In ActiveSheet.ChartObjects(1).Chart.SeriesCollection
  i = i + 1
  s.Format.Line.ForeColor.RGB = IIf(i > 1 And i Mod 2, 16763904, 255)
  s.MarkerStyle = xlNone
  s.Smooth = True 'lissage
Next
End Sub
A+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
662
W
Réponses
25
Affichages
1 K
Réponses
10
Affichages
1 K
Réponses
14
Affichages
725
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…