bonjour,
Je suis en train de réaliser un graph en anneau sur le fichier ci-joint. J'ai réalisé ce graph en suivant ce tuto et j'aimerais simplifier l'étape fastidieuse du coloriage de chacun des segments...
Chacun des 8 anneaux est divisé en 96 segments, et chacun de ces segments sera colorié selon une suite de 8 couleurs : rouge / orange/orange clair / jaune..../ blanc.
Alors j'ai testé la fonction enregistrement de macro pour le coloriage "en rouge" du 1er anneau, ce qui me donne le code ci-dessous. Le code fonctionne mais est fastidieux à modifier.
Je n'y connais rien en VBA mais j'ai envie d'apprendre. Je pense que la logique VBA voudrait que je fasse une boucle sur les 96 segments du 1er anneau ActiveChart.FullSeriesCollection(1), que le point 1 soit colorié en rouge, puis le point1+8 (soit le point 9) soit colorié en rouge lui aussi, puis le point9+8 (soit le point 17) soit colorié en rouge, etc....jusqu'au point 12.
Je ne sais pas comment initié la boucle et intégrer la ou les variables. Sauriez-vous me guider?
Je suis en train de réaliser un graph en anneau sur le fichier ci-joint. J'ai réalisé ce graph en suivant ce tuto et j'aimerais simplifier l'étape fastidieuse du coloriage de chacun des segments...
Chacun des 8 anneaux est divisé en 96 segments, et chacun de ces segments sera colorié selon une suite de 8 couleurs : rouge / orange/orange clair / jaune..../ blanc.
Alors j'ai testé la fonction enregistrement de macro pour le coloriage "en rouge" du 1er anneau, ce qui me donne le code ci-dessous. Le code fonctionne mais est fastidieux à modifier.
Je n'y connais rien en VBA mais j'ai envie d'apprendre. Je pense que la logique VBA voudrait que je fasse une boucle sur les 96 segments du 1er anneau ActiveChart.FullSeriesCollection(1), que le point 1 soit colorié en rouge, puis le point1+8 (soit le point 9) soit colorié en rouge lui aussi, puis le point9+8 (soit le point 17) soit colorié en rouge, etc....jusqu'au point 12.
Je ne sais pas comment initié la boucle et intégrer la ou les variables. Sauriez-vous me guider?
VB:
Sub Anneau1_color1()
'
' Anneau1_color1 Macro
'
'
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(1).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(2).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(3).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(4).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(5).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(6).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(7).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(8).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(9).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(10).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(11).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(12).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(13).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(14).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(15).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(16).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(17).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(18).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(19).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(20).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(21).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(22).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(23).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(24).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(25).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(26).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(27).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(28).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(29).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(30).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(31).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(32).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(33).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(34).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(35).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(36).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(37).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(38).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(39).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(40).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(41).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(42).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(43).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(44).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(45).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(46).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(47).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(48).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(49).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(50).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(51).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(52).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(53).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(54).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(55).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(56).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(57).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(58).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(59).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(60).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(61).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(62).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(63).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(64).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(65).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(66).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(67).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(68).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(69).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(70).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(71).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(72).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(73).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(74).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(75).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(76).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(77).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(78).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(79).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(80).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(81).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(82).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(81).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(82).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(83).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(84).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(85).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(86).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(87).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(88).Select
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.FullSeriesCollection(1).Points(89).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
.Solid
End With
End Sub
Pièces jointes
Dernière édition: