Manipulation de données de graphique en VBA
Bonjour à tous,
Si des experts passent par là, j'ai une question à propos d'un comportement étrange d'Excel (je suppose, à moins que ça ne vienne de mois :aie:)
Pour faire simple, j'ai beaucoup de graphs sur une feuille (genre une cinquantaine).
Je boucle sur chaque graph, puis sur chaque point d'une série pour récupérer la valeur minimum de la série.
L'objectif étant de mettre à jour la valeur minimum de l'échelle du graph en fonction de cette valeur minimum pour rendre le graph plus lisible (via la propriété : ActiveChart.Axes(xlValue).MinimumScale)
Ce que je trouve étonnant, c'est que le code fonctionne parfaitement en mode pas à pas mais quand je l’exécute "normalement", cela ne fait rien.
Comment est-ce possible ? :weird:
Edit : Je vous mets le code que j'ai fait si ça peut aider à percer le mystère
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| Sub MajEchelleGraphs()
Dim Feuille As Worksheet
Dim Graphique As ChartObject
Dim PointGraph As Point
Dim TextePoint As String
Dim ValeurPoint As Integer
Dim ValeurMin As Integer
Set Feuille = Sheets("Feuil1")
For Each Graphique In Feuille.ChartObjects
Graphique.Activate
ValeurMin = 60
ActiveChart.FullSeriesCollection(1).ApplyDataLabels
For Each PointGraph In Feuille.ChartObjects(Graphique.Name).Chart.SeriesCollection(1).Points
TextePoint = PointGraph.DataLabel.Characters.Text
ValeurPoint = CInt(Left(TextePoint, Len(TextePoint) - 1))
If ValeurPoint < ValeurMin Then ValeurMin = ValeurPoint
Next PointGraph
ActiveChart.Axes(xlValue).MinimumScale = Application.WorksheetFunction.MRound(ValeurMin - 5, 10) / 100
ActiveChart.FullSeriesCollection(1).DataLabels.Delete
Next Graphique
End Sub |
Merci d'avance !
PS : Si vous avez une meilleure façon de modifier l'échelle, je suis preneur. Mais je précise que je suis passer par cette façon car je ne peux pas utiliser les données.