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
 

nicroq

XLDnaute Occasionnel
Bonjour Sylvanu,

Oui j'ai reussi a faire cela mais comment l'appliquer sur ts les graphiques de la feuille? faire une boucle sur le nombre de graph?
 

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
 

nicroq

XLDnaute Occasionnel
En effet tous les graphique sont sur la meme feuille!
Merci pour votre réactivité sylvanu!
bonne journée
 

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.
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas