Bonjour Denleo,
Le principe :
> boucle sur tous les séries du graphiques (objet de type "Series")
> boucle sur tous les points de chaque série (objet de type "Point")
> affectation de la couleur en fonction du label
Le plus complexe est de comprendre le modèle objet de "Chart".
Chart->SeriesCollection->Series->Points->Point->DataLabel->Text (pour le texte)
et Point->Format->Fill->ForeColor->RGB (pour la couleur)
il y a sûrement de la documentation disponible.
Cette complexité n'est pas vraiment étonnante lorsqu'on connaît la richesse (et complexité) des graphiques qu'on peut faire avec Excel.
L'affectation de la couleur est gérée par la procédure "ColorierPoint", 2 paramètres :
> le point (de type Point)
> la collection de couleurs (collection)
La liste des couleurs est initialisée en amont à partir de l'onglet dédié et stockée dans une collection :
'initialisation des couleurs
Set colCoul = New Collection
For iLig = 1 To 5
'clé / couleur
colCoul.Add oShC.Range("B" & iLig).Interior.Color, oShC.Range("A" & iLig).Value
Next iLig
La partie en commentaire dans la sub "ColorierPoint" est à titre indicatif, ancienne version temporaire, dans laquelle l'attribution de la couleur était faite "en dur" dans le code VBA. Désormais les couleurs sont paramétrées.
Autre ligne obsolète (on boucle juste après sur toutes les séries) :
Set oSerie = oGraph.SeriesCollection(2)
Finalement, en enlevant les lignes en commentaires, le code VBA n'est plus si terrible !!!
J'espère avoir répondu à tes questions.
Bouben
EDIT :
La description du modèle objet "ChartObject" est disponible ici :
https://docs.microsoft.com/fr-fr/office/vba/api/excel.chartobject
En complément, le modèle objet complet d'Excel est également disponible :
https://docs.microsoft.com/fr-fr/office/vba/api/overview/excel/object-model