Bonjour à tous,
Sur Excel 2010, je ne comprends pas comment la vitesse d’exécution d'un code peut varier dans des proportions extrèmement importantes selon la méthode d'appel de la procédure.
Je m'explique.
Si j'exécute le code suivant :
le temps d'exécution est de seulement 0.2 sec malgré un code assez chargé.
Mais si j'exécute le même code à partir d'une autre procédure où il n'y a qu'un appel vers celle au dessus :
le temps d'exécution passe à 2 sec, soit 10 fois plus !
Alors que sur la version 2007 les mêmes procédures donnent les mêmes temps en direct ou indirect, soit 2 sec.
Ce qui me surprends le plus c'est surtout la vitesse supersonique en adressage direct avec 2010, et qu'ensuite cette vitesse ne soit pas maintenue en adressage indirect.
Si quelqu'un a une explication sur ce comportement très étrange, je suis preneur.
Cordialement,
Michel
Sur Excel 2010, je ne comprends pas comment la vitesse d’exécution d'un code peut varier dans des proportions extrèmement importantes selon la méthode d'appel de la procédure.
Je m'explique.
Si j'exécute le code suivant :
Code:
Sub MonCodeDirect()
Dim Temps as Single
Temps = Timer
ici mon code .....
.......
Temps = Temps - Timer
MsgBox Temps
End sub
Mais si j'exécute le même code à partir d'une autre procédure où il n'y a qu'un appel vers celle au dessus :
Code:
Sub MonCodeIndirect()
MonCodeDirect
End Sub
Alors que sur la version 2007 les mêmes procédures donnent les mêmes temps en direct ou indirect, soit 2 sec.
Ce qui me surprends le plus c'est surtout la vitesse supersonique en adressage direct avec 2010, et qu'ensuite cette vitesse ne soit pas maintenue en adressage indirect.
Si quelqu'un a une explication sur ce comportement très étrange, je suis preneur.
Cordialement,
Michel