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 = ...
Quelqu'un pourrait il m'orienter sur la bonne voie ???
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
Merci d'avance,
Partager