Bonjour,

Je suis débutant en VBA. J'aimerai pouvoir colorier les objets d'un graphique selon une valeur prédéfinie.

Voici mon code :
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
Sub colorier()  
 
Dim nbval, a, i, col As Integer  
 
ActiveSheet.ChartObjects("Graphique 3" ).Activate  
 
 
nbval = ActiveSheet.UsedRange.Rows.Count  
 
MsgBox nbval  
 
For a = 1 To nbval  
val_barre = Range("g" & a).Value  
 
Debug.Print val_barre  
 
If val_barre = "Utiles" Then  
col = 50  
Else  
col = 3  
End If  
 
ActiveChart.SeriesCollection(1).Points(a).Interior.ColorIndex = col  
 
Next  
 
End Sub
Ce code fonctionne à moitié. Il me différencie certains de mes objets, mais ils ne correspondent pas aux enregistrements de mon tableau.
Si je trie mon tableau avec lequel j'ai crée le graphique selon mon critère de couleur ( ici Utiles et Autres), et que je selectionne par exemple tous mes enregistrements "Utiles", ils m'affichent sur le graphique tous ces enregistrements, mais les couleurs ne sont pas celle associé à ce critère. J'ai objets des deux couleurs...