Bonjour,

CONTEXTE DU PB :

Pour une de mes applis, je trace par macro un graphique barres.
J'ai une unique série de données, et je change la couleur de chaque point de la série en fonction de la réalisation d'une condition ou non associée au point.

PROBLEME :

Dès que je change la couleur du premier point, l'élément de légende du graphe associé à ma série change et est remplacé par les abcisses de tous les points de ma série .

Soit pourquoi pas..., mais moi je veux une chaine de texte bien précise comme élément de légende associée à ma série. Après avoir changé les couleurs de mes barres, j'essaye de reforcer le nom de la série, mais ça re ne change pas la légende

Précision: si j'enlève la partie changement de couleurs, soit la boucle correspondante dans le bout de code ci-dessous, ma légende est bien celle que je lui signifie par monChart.SeriesCollection(num_serie).Name = ...

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
' Series du graphe
    For num_serie = 1 To nbHistos
        With monChart.SeriesCollection(num_serie)
            ' Donnees sources
            .XValues = f_tableau.Range(f_tableau.Cells(ligne_deb + 1, 2), f_tableau.Cells(ligne_deb + 1, col_fin))
            .Values = f_tableau.Range(f_tableau.Cells(ligne_deb + 1 + num_serie, 2), f_tableau.Cells(ligne_deb + 1 + num_serie, col_fin))
        End With
monChart.SeriesCollection(num_serie).Name = f_tableau.Cells(ligne_deb + 1 + num_serie, 1)
 
        l_c_Indi_Colo = 2
        For l_num_doc = 1 To col_fin - 1
            If f_tableau.Cells(ligne_deb + num_serie + 1, l_c_Indi_Colo) < 0 Then
                monChart.SeriesCollection(num_serie).Points(l_num_doc).Interior.ColorIndex = couleurs(num_serie, 1)
            ElseIf f_tableau.Cells(ligne_deb + num_serie + 1, l_c_Indi_Colo) < 4 Then
                monChart.SeriesCollection(num_serie).Points(l_num_doc).Interior.ColorIndex = couleurs(num_serie, 2)
            Else
                monChart.SeriesCollection(num_serie).Points(l_num_doc).Interior.ColorIndex = couleurs(num_serie, 3)
            End If
            l_c_Indi_Colo = l_c_Indi_Colo + 1
        Next
 
        monChart.SeriesCollection(num_serie).Name = f_tableau.Cells(ligne_deb + 1 + num_serie, 1)
 
    Next
Quelqu'un pourrait il m'orienter sur la bonne voie ???

Merci d'avance,