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)
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 ?
Edit : Je vous mets le code que j'ai fait si ça peut aider à percer le mystère
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager