Bonjour à tous !
A partir d'un exemple récupéré sur internet, je tente de faire une macro permettant d'orthonormaliser un graphe Excel.
Ce n'est pas précisément le contenu de cette macro qui m'amène, mais plus son exécution : en effet dans l'éditeur VB d'Excel, lorsque je l'execute pas à pas, tout se déroule comme prévu, mais lorsque je l'execute en continu, j'obtient un résultat différent...
Voici le morceau de macro à executer qui produit ce dont je parle :
Code :
- Sub Ortho()
- With ActiveChart
-
- 'Definition de variables'
- nom = Split(.Name)(1) & " " & Split(.Name)(2)
- Set AV = .Axes(xlValue)
- Set AH = .Axes(xlCategory)
- AH.MinorUnitIsAuto = False
- AH.MajorUnitIsAuto = False
- AV.MinorUnitIsAuto = False
- AV.MajorUnitIsAuto = False
- AVAmpl = AV.MaximumScale - AV.MinimumScale
- AHAmpl = AH.MaximumScale - AH.MinimumScale
-
- 'Calcul du rapport d'echelle entre les 2 axes'
- Obj = AV.Height * AHAmpl / AVAmpl
- 'On met la fenêtre du graphe à une taille légèrement plus grande que la bonne echelle'
- ActiveSheet.Shapes(nom).Width = ActiveSheet.Shapes(nom).Width + (Obj - AH.Width) + 10
- 'puis on met la zone graphique à l'echelle'
- .PlotArea.Width = .PlotArea.Width + (Obj - AH.Width)
- End With
- End Sub
|
Dans le cas pas à pas, j'ai bien :
1) la fenêtre du graphe qui s'ajuste
2) la zone du graphe qui s'ajuste dans cette dernière
Dans l'execution en continue, la fenêtre et la zone sont modifiée, mais pas du tout de la bonne manière...
Vous auriez une explication ?
Merci !
Message édité par bionix le 16-12-2009 à 14:15:45