[VB/Excel] Différent résultat execution classique/execution pas à pas

Différent résultat execution classique/execution pas à pas [VB/Excel] - VB/VBA/VBS - Programmation

Marsh Posté le 16-12-2009 à 12:32:43    

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 :
  1. Sub Ortho()
  2. With ActiveChart
  3.  
  4.   'Definition de variables'
  5.   nom = Split(.Name)(1) & " " & Split(.Name)(2)
  6.   Set AV = .Axes(xlValue)
  7.   Set AH = .Axes(xlCategory)
  8.   AH.MinorUnitIsAuto = False
  9.   AH.MajorUnitIsAuto = False
  10.   AV.MinorUnitIsAuto = False
  11.   AV.MajorUnitIsAuto = False
  12.   AVAmpl = AV.MaximumScale - AV.MinimumScale
  13.   AHAmpl = AH.MaximumScale - AH.MinimumScale
  14.  
  15.   'Calcul du rapport d'echelle entre les 2 axes'
  16.   Obj = AV.Height * AHAmpl / AVAmpl
  17.   'On met la fenêtre du graphe à une taille légèrement plus grande que la bonne echelle'
  18.   ActiveSheet.Shapes(nom).Width = ActiveSheet.Shapes(nom).Width + (Obj - AH.Width) + 10
  19.   'puis on met la zone graphique à l'echelle'
  20.   .PlotArea.Width = .PlotArea.Width + (Obj - AH.Width)
  21. End With
  22. 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
Reply

Marsh Posté le 16-12-2009 à 12:32:43   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed