Problème VBA colorier automatiquement marques d'un graphique

Bonjour à tous,

J'utilise cette macro pour colorier les points (où autre marquage du graph losange, triangle...) d'un graphique selon la couleur des cellules où se trouvent les données:

Sub Colorpoint()

ActiveSheet.ChartObjects(1).Activate

For i = 1 To ActiveChart.SeriesCollection(1).Points.Count

ActiveChart.SeriesCollection(1).Points(i).MarkerInteriorColor = _

ActiveSheet.Cells(i + 3, 3).Interior.Color

Next i

End Sub

Par contre cette macro ne fait que colorier le contour du marquage mais pas l'intérieur qui reste blanc (voir feuille Complex).

Pourriez vous svp m'aider pour que l'intérieur du marquage du graph (points, losange, triangle...) soit également colorié avec la même couleur? J'ai déjà essayé avec MarkerBackgroundColor aussi, mais idem que le contour.

De plus cela ne fonctionne pas tout le temps (voir feuille Simple). Peut être le code n'est pas adapté à Excel 2016?

Ci-joint le fichier exemple.

Merci d'avance à tous.

Personne qui est calé sur les graphiques?

Bonjour,

J'ai un peu avancé et je suis arrivé à colorier l'intégralité de la marque mais j'ai un nouveau problème, elle ne fonctionne pas avec une MFC sur les cellules sources, il faut colorier les cellules à la main pour que ça fonctionne.

Ci dessous la VBA en question:

Sub Colorpoint()

ActiveSheet.ChartObjects(1).Activate

For i = 1 To ActiveChart.SeriesCollection(1).Points.Count

ActiveChart.SeriesCollection(1).Points(i).Format.Line.ForeColor.RGB = _

ActiveSheet.Cells(i + 3, 3).Interior.Color

ActiveChart.SeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = _

ActiveSheet.Cells(i + 3, 3).Interior.Color

Next i

End Sub

Merci de votre collaboration.

Bonjour,

Un exemple pour la feuille Performance by Store - Simple.

Cdlt.

Merci beaucoup de votre temps, il y a même la création auto du graphique et cela fonctionne bien avec la MFC.

Mais cela est trop complexe pour un utilisateur lambda qui ne saura pas adapter (moi non plus d'ailleurs) si il doit faire un autre graphique comme le complex.

C'est pour ça que je cherche une solution simple qui s'applique à un graphique qui est déjà construit manuellement.

La VBA que j'ai modifié fonctionne bien juste à trouver la solution pour qu'elle fonctionne quand les cellules sources sont coloriées à partir d'une MFC.

Merci infiniment pour votre temps et votre contribution.

Problème résolu!!!

Donc voici la macro finale si elle devait servir à d'autres:

Sub Colorpoint()

ActiveSheet.ChartObjects(1).Activate

For i = 1 To ActiveChart.SeriesCollection(1).Points.Count

ActiveChart.SeriesCollection(1).Points(i).Format.Line.ForeColor.RGB = _

ActiveSheet.Cells(i + 3, 3).DisplayFormat.Interior.Color

ActiveChart.SeriesCollection(1).Points(i).Format.Fill.ForeColor.RGB = _

ActiveSheet.Cells(i + 3, 3).DisplayFormat.Interior.Color

Next i

End Sub

Cdlt

Rechercher des sujets similaires à "probleme vba colorier automatiquement marques graphique"