Chris a un classeur qui contient beaucoup de petits graphiques identiques. Il souhaite modifier certains des attributs des éléments de chaque graphique, tels que la couleur ou la taille de la police, en une seule fois.

Si vous utilisez souvent un graphique «non par défaut» (ce qui signifie modifier l’apparence de certains éléments de graphique après la création du graphique), une bonne approche consiste à créer un graphique personnalisé et à enregistrer ce format dans Excel. Vous pouvez ensuite utiliser le format enregistré pour créer tous vos nouveaux graphiques, minimisant ainsi la quantité de mise en forme ultérieure que vous devez effectuer. La façon dont vous enregistrez les formats de graphiques personnalisés a été traitée dans d’autres numéros de ExcelTips.

Les formats de graphiques personnalisés peuvent être intéressants pour l’avenir, mais cela n’aide pas si vous avez déjà tout un tas de graphiques dans un classeur existant. Dans ce cas, la meilleure solution consiste à utiliser une macro qui peut parcourir tous les graphiques d’un classeur et apporter la modification souhaitée. Il vous suffit de décider à l’avance quels éléments vous souhaitez modifier, puis de programmer la macro pour modifier spécifiquement ces éléments.

Par exemple, la macro suivante modifie la couleur de police et la taille des étiquettes de l’axe Y. Il parcourt tous les graphiques du classeur, à la fois les feuilles et les graphiques incorporés.

Sub ChangeAllCharts1()

Dim cht As Chart     Dim sht     Dim ChtObj As ChartObject

For Each cht In ActiveWorkbook.Charts         With cht.Axes(xlValue).TickLabels.Font             .Size = 20             .Color = vbRed         End With     Next

For Each sht In ActiveWorkbook.Sheets         For Each ChtObj In sht.ChartObjects             With ChtObj.Chart.Axes(xlValue).TickLabels.Font                 .Size = 20                 .Color = vbRed             End With         Next     Next End Sub

Comme écrit ici, la macro change la taille de la police en 20 et la couleur en rouge. Si vous souhaitez que la macro modifie d’autres éléments, tout ce que vous avez à faire est de modifier les instructions With pour refléter les éléments que vous souhaitez modifier, ou vous pouvez utiliser une boucle For …​ Next pour parcourir tous les éléments du graphique. La macro suivante présente cette technique en modifiant la couleur d’arrière-plan des graphiques dans un classeur.

Sub ChangeAllCharts2()

On Error Resume Next     NewChartAreaColor = 34

For J = 1 To ActiveWorkbook.Charts.Count         ActiveWorkbook.Charts(J).Select

'The pairs of line code indicate desired changes         ActiveChart.ChartArea.Select         Selection.Interior.ColorIndex = NewChartAreaColor     Next J

For J = 1 To ActiveWorkbook.Sheets.Count         For K = 1 To Sheets(J).ChartObjects.Count             Sheets(J).Select             Sheets(J).ChartObjects(K).Activate

'The pairs of line code indicate desired changes             ActiveChart.ChartArea.Select             Selection.Interior.ColorIndex = NewChartAreaColor         Next K     Next J End Sub

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (7734) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.

Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Changing_Elements_in_Lots_of_Charts_at_One_Time [Modification d’éléments dans de nombreux graphiques à la fois].