Bonjour à tous,

Dans mon fichier, je créé deux collection de séries, une appelée "référence", l'autre appelée "Réel".
Je cherche à comparer les valeurs des deux collections de séries. Exemple : Si Feuil1!$B$3 est plus petite que Feuil1!$C$3, alors elle sera de couleur verte, sinon de couleur rouge. Puis on compare Feuil1!$D$3 avec Feuil1!$E$3 etc.)

J'ai élaboré un code (en rouge) mais ça ne marche pas et je n'arrive pas à trouver la solution.

Merci d'avance pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Sub Test()

Dim a, b As Integer
Dim seriecol1, seriecol2 As SeriesCollection
Dim myseries1, myseries2 As Series

With ActiveSheet.ChartObjects.Add(100, 100, 500, 300).Chart
    .ChartType = xlColumnClustered
    .SeriesCollection.NewSeries
   
    With .SeriesCollection.NewSeries
    .Values = "=Feuil1!$B$3,Feuil1!$D$3,Feuil1!$F$3,Feuil1!$H$3,Feuil1!$J$3,Feuil1!$L$3"
    .XValues = _
        "={""Total"",""Filtration"",""Démi"",""Concentreurs"",""Séchoirs"",""Flottation""}"
    .Name = "=""Réel"""
     End With
     Set seriesCol1 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection
     
     With .SeriesCollection.NewSeries
    .Values = "=Feuil1!$C$3,Feuil1!$E$3,Feuil1!$G$3,Feuil1!$I$3,Feuil1!$K$3,Feuil1!$M$3"
    .Name = "=""Référence"""
    .Interior.Color = RGB(0, 0, 50)
     End With
     Set seriesCol2 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection
     
     .SetElement (msoElementChartTitleAboveChart)
     .ChartTitle.Format.TextFrame2.TextRange.Characters.Text = Round(Now(), 0)
     .SetElement (msoElementPrimaryValueAxisTitleRotated)
     .Axes(xlValue, xlPrimary).AxisTitle.Text = "Pertes (kg eq gél/j)"
     
       a = 1
       b = 1
    
    For Each myseries1 In seriesCol1
        Set myseries1 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(a)
        Set myseries2 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(b)
        
    If myseries1 < myseries2 Then .Interior.Color = RGB(50, 0, 0) Else .Interior.Color = RGB(0, 50, 0)
     a = a + 1
     b = b + 1
     
     Next
    
End With

End Sub