Afficher chronometre temps execution de macro

Salut!

Est-ce possible d'afficher dans une petite fenêtre de message les secondes qui passent à partir du moment où une macro cmmence son exécution jusqu'à la fin?

Dès que la macro est achevée, le chronomètre s'arrête et on a sur l'écran combien de temps en secondes la macro a pris à être exécutée.

J'ai trouvé une macro sur internet - ci-dessous - qui compte le temps d'exécution et montre à la fin combien de secondes cela a pris. Mais cela ne montre pas en "live" les secondes qui s'écoulent (comme un chronomètre).

Si c'est possible à réaliser...

Sub CalculateRunTime_Seconds()

'PURPOSE: Determine how many seconds it took for code to completely run

Dim StartTime As Double

Dim SecondsElapsed As Double

'Remember time when macro starts

StartTime = Timer

' here will be the macro to execute '

'Determine how many seconds code took to run

SecondsElapsed = Round(Timer - StartTime, 2)

'Notify user in seconds

MsgBox "This code ran successfully in " & SecondsElapsed & " seconds", vbInformation

End Sub

Bonjour,

Voici un exemple qui te montre le temps écoulé en live, ça utilise la fonction OnTime:

2'397chronometre.xlsm (19.94 Ko)

Bonjour,

ajouter un chronomètre contrôlé par une macro vba, va ralentir l'exécution de la macro VBA que tu veux mesurer.

Je voulais en fait que le chrono s'affiche et débute à l'activation d'une autre macro, et pas en appuyant sur un bouton pour l'afficher.

Mais comme h2so4 l'a dit, ça risque de ralentir encore plus le temps d'exécution de ma macro que je voulais mesurer.

Donc pas grave, j'abandonne l'idée.

Merci quand même!!

Tu pouvais aussi l'appeler via une macro, c'est à titre d'exemple que je faisais ça.

En général suivre en live ce que fait la macro je ne suis pas sûr que ce soit très utile de toute façon, une macro qui sert à dire combien de temps elle a mis en tout c'est déjà pas mal, à la limite si tu veux savoir combien de temps met ta macro, puis combien mettent chaque partie (pas trop de partie quand même), tu peux chronométrer ces différentes parties, mais toujours sans afficher le chronomètre en live.

Bonne continuation pour ton projet

En fait, j'ai une macro qui est un peu longue et prend entre 20 a 30 secondes.

Je voulais donc afficher le temps qui passe afin que l'utilisateur ne s'impatiente pas trop.

Mais c'est pas grave.

Merci

Dans ce cas tu peux prévenir l'utilisateur que ça va être un peu long (30s environ), tu peux également bricoler une progression qui se met à jour à certaines lignes du programme (comme ça tu peux mettre à jour "il reste 30s environ" par "il reste 20 secondes environ"), mais ça rallonge le code et c'est du bricolage, je comprends pourquoi tu voulais faire ça mais oui ça ralentira ta macro

Rechercher des sujets similaires à "afficher chronometre temps execution macro"