Visual Basic For Applications
Comment mesurer la vitesse d’une macro VBA Excel ?

Avec quelques lignes de code VBA, vous pouvez facilement déterminer la performance de votre code VBA ?

Pourquoi connaître la vitesse d’une macro VBA dans Excel ?

Mesurer la vitesse et la performance de votre programme VBA peut être utile dans plusieurs cas et situations :

  1. Le premier biensûr étant de suivre l’évolution de la performance de votre fichier tout au long de sa vie. Cela peut vous permettre d’identifier d’éventuelles lenteurs qui arriveraient au fur et à mesure que votre programme VBA traite plus de données. Vous pourrez ainsi, si besoin, savoir quand mener des actions pour optimiser votre code et/ou votre et vos fichiers Excel,
  2. Le second est lors de la conscéption du code pour mesurer la performance du programme VBA en analysant certaines parties de celui-ci. L’objectif étant de pouvoir apporter des optimisations de façon pertinente et avoir un code plus efficient,
  3. Enfin et simplement, connaître précisément le temps d’excécution de votre macro VBA, surtout si vous la lancez régulièrement, pour par exemple, aller prendre un café tranquillement pendant le temps de traitement.






Le code pour tester la vitesse d’un code VBA avec Excel

Il est très simple de connaître la vitesse de votre macro VBA. Pour ce faire il suffit de comparer deux notions :

  • L’heure de départ de votre programme,
  • L’heure de fin de votre programme.

Ainsi il faut commencer par déclarer une variable au tout début de vote code. Dans l’exemple ci-dessous nous allons utiliser le nom de variable StartDate et nous allons lui affecter la valeur NOW:

Dim StartDate as Date
 
StartDate = NOW

Ensuite, il faut soit dans une message box soit dans une cellule comparer l’heure de fin du programme avec notre variable péalablement déclarée en intégrant le bout de code ci-dessous à la toute fin de votre macro VBA (juste avant le End Sub) :

 
Range("A1").value = Format(Now - StartDate, "hh:mm:ss")
 
Msgbox "Vitesse de la macro VBA : " & Format(Now - StartDate, "hh:mm:ss")

La notion de format permet d’afficher la valeur au bon format de Date/Heure pour que celle-ci soit compréhensible.

Pour mesurer plusieurs parties du code, vous devez déclarer autant de variables que de parties à mesurer et les placer au début de chaque partie. La logique globale reste exactement la même.

Notez nous !
[Moyenne : 4.1]