Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Modification plusieurs graphes en VBA

nicroq

XLDnaute Occasionnel
Bonjour à tous,

J'ai un fichier excel qui possède un onglet récapitulatif avec de nombreux graphiques et je souhaiterai savoir si il serait possible par VBA de modifier l'intervalle de graduation et l'unité d'intervalle sur chacun des graphiques?

En vous remerciant

Cordialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Nicroq,
Il suffit de faire tourner l'enregistreur de macro :
VB:
Sub Macro1()
    ActiveSheet.ChartObjects("Graphique 1").Activate    ' Choix du graphique
    ActiveChart.Axes(xlCategory).MinimumScale = 0       ' Minimum axe X
    ActiveChart.Axes(xlCategory).MaximumScale = 50      ' Maximum
    ActiveChart.Axes(xlCategory).MajorUnit = 10         ' Unité principale
    ActiveChart.Axes(xlCategory).MajorUnit = 5          ' Unité secondaire
    ' Tous les paramètres sont optionels
    ' Pour l'axe Y, remplacer xl par yl.
End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Par ex, en supposant tous les graphiques dans la même feuille, et en supposant que toutes les échelles sont les mêmes :
VB:
 Sub Essai()
 For i = 1 To ActiveSheet.ChartObjects.Count
    ActiveSheet.ChartObjects(i).Activate                ' Choix du graphique
    ActiveChart.Axes(xlCategory).MinimumScale = 0       ' Minimum axe X
    ActiveChart.Axes(xlCategory).MaximumScale = 10      ' Maximum
    ActiveChart.Axes(xlCategory).MajorUnit = 2          ' Unité principale
    ActiveChart.Axes(xlCategory).MajorUnit = 1          ' Unité secondaire
    Next i
 [A1].Select
 End Sub
Evidemment si les graphiques sont sur des feuilles différentes, il faut changer la syntaxe et choisir la bonne feuille avec :
Code:
For Each Sh In ActiveWorkbook.Sheets
....
Next Sh
 

chris

XLDnaute Barbatruc
Bonjour à tous

A noter qu'on peut créer un graphique, paramétrer ses axes et autres, enregistrer le graphique comme modèle puis créer tous les graphiques en utilisant ce modèle : ainsi pas de VBA nécessaire.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…