Mise en forme automatique de graphique

Bonjour,

Je cherche à automatiser, via un code VBA, la mise en forme homogène de divers graphes de type "camembert" : il s'agit dans un premier temps (et ce sera déjà pas mal!) de définir les couleurs de remplissage des différents secteurs en fonction du nom des catégories considérées. Je précise que les catégories varient d'un graphe à l'autre (nombre, interclassement,...), ce qui m'empêche de résoudre mon problème par la mise en forme initiale des graphes.

En cherchant par-ci par-là sur le net, j'ai fini par trouver un début de réponse dans le fichier ci-joint. Il fait exactement ce que je recherche, mais pour un graphe type "courbe".

J'ai tenté d'adapter le code sous VBA pour le rendre opérationnel sur mes graphes "camembert" mais je n'y arrive pas. Le premier point de blocage que j'ai identifié est que dans mes graphes les conditions s'appliquent sur des catégories de données, alors que dans le cas initial ce sont vraisemblablement les séries de données qui sont testées...

Le code initial est le suivant :

Sub CouleurSeries()
Dim MesSeries As Series
With ActiveChart
For Each MesSeries In .SeriesCollection
Select Case MesSeries.Name

Case "astuces"
MesSeries.Border.ColorIndex = 9
MesSeries.Border.Weight = xlThick
MesSeries.MarkerStyle = xlMarkerStyleSquare
MesSeries.MarkerBackgroundColorIndex = 9
MesSeries.MarkerForegroundColorIndex = 9
MesSeries.MarkerSize = 10

Case "blog"
MesSeries.Border.ColorIndex = 33
MesSeries.Border.Weight = xlThick
MesSeries.MarkerStyle = xlMarkerStyleSquare
MesSeries.MarkerBackgroundColorIndex = 33
MesSeries.MarkerForegroundColorIndex = 33
MesSeries.MarkerSize = 10

Case "autres"
MesSeries.Border.ColorIndex = 16
MesSeries.Border.Weight = xlThick
MesSeries.MarkerStyle = xlMarkerStyleSquare
MesSeries.MarkerBackgroundColorIndex = 16
MesSeries.MarkerForegroundColorIndex = 16
MesSeries.MarkerSize = 10

Case "global"
MesSeries.Border.ColorIndex = 46
MesSeries.Border.Weight = xlThick
MesSeries.MarkerStyle = xlMarkerStyleSquare
MesSeries.MarkerBackgroundColorIndex = 46
MesSeries.MarkerForegroundColorIndex = 46
MesSeries.MarkerSize = 10

End Select
Next
End With
End Sub

Merci beaucoup pour votre aide!

20graph-cond03.zip (14.27 Ko)

Personne n'a d'idée?

Rechercher des sujets similaires à "mise forme automatique graphique"