Une méthode très précise consiste à calculer le nombre de cycle d'horloge écoulé du microprocesseur via QueryPerformanceCounter
Pour convertir ensuite ce nombre de cycle en temps, on divise le nombre de cycle par la fréquence du microprocesseur (nombre de cycle par seconde).
Cette fréquence s'obtient via QueryPerformanceFrequency
Utilisation :
Dans cet exemple, l'affichage du temps écoulé est volontairement limité au centième de seconde. Si vous souhaitez encore une plus grande précision, vous pouvez afficher le résultat jusqu'à la nanoseconde (milliardième de seconde).
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 Private Declare Function QueryPerformanceCounter Lib "Kernel32" (X As Currency) As Boolean Private Declare Function QueryPerformanceFrequency Lib "Kernel32" (X As Currency) As Boolean Sub MaMacro() Dim Debut As Currency, Fin As Currency, Freq As Currency QueryPerformanceCounter Debut 'Début de code de ma procédure '... '... 'Fin de code de ma procédure QueryPerformanceCounter Fin QueryPerformanceFrequency Freq MsgBox "Durée de la procédure = " & Format(((Fin - Debut) / Freq), "0.00") & " sec." End Sub
Partager