Modification de l'axe d'un graphique par VBA

Fermé
franck - 9 nov. 2015 à 17:09
 franck - 12 nov. 2015 à 08:52
Bonjour,

Bin souvent votre forum m'a aidé a solutionner mes problèmes mais la je cale !

j'ai un tableau croisé dynamique qui génère un graphique.
En fonction des données du TCD le graphique évolue et quelque fois l'échelle de l'axe vertical n'est pas adapté a une bonne lecture.
j'ai fait une macro pour trouver la valeur maxi de mon TCD

Sub Maximum()
'
' Maxi Macro
'

'
Sheets("TCD2").Activate
Cells(1, 1) = Application.WorksheetFunction.Max(Range("c:f"))


End Sub

Idem pour la valeur mini

Sub Minimum()
'

' Mini Macro
'

'
Sheets("TCD2").Activate
Cells(1, 2) = Application.WorksheetFunction.Min(Range("c:d"))


End Sub

Ensuite j'ai trouver une macro pour modifier les valeurs Maxi et mini de l'axe vertical de mon graphique, mais il faut mettre les valeur en dur dans le code :

Sub Echelle()
'
' Echelle Macro
'
' Touche de raccourci du clavier: Ctrl+w
'
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScale = 0.128
ActiveChart.Axes(xlValue).MaximumScale = 0.15

End Sub


j'aimerai pouvoir remplacer le 0.128 par le résultat de la macro minimum et bien entendu le 0.15 par le résultat de la macro Maxi.

Si qq un peu me filer un coup de main ce serai bien sympa

Merci

1 réponse

Bonjour à tous

A force de recherche j'ai fini par trouver ma solution, je ne sais pas si c'est la meilleure..... mais bon.

Dans la feuille TCD je cherche le mini et le maxi que je vais appliquer sur mon graphe et je l'affecte au mini maxi de l'axe de mon graphique.
Ca donne le code ci-dessous :

Totalx Macro
'

'

Range("B3").Select
Sheets("TCD2").Activate
Cells(1, 1) = Application.WorksheetFunction.Max(Range("c:f"))
Sheets("TCD2").Activate
Cells(1, 2) = Application.WorksheetFunction.Min(Range("c:d"))
Sheets("Graph2").Activate
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScale = Sheets("TCD2").Range("H1").Value
ActiveChart.Axes(xlValue).MaximumScale = Sheets("TCD2").Range("G1").Value
'


A+ Pour d'autre question peut-être
0