SLEEP
Sleep est une fonction non documentée qui permet de suspendre l'exécution d'une procédure
Ci-dessous les 4 solutions que je connais pour créer une temporisation
1 : tempo par boucle Inconvénient : dépend de la vitesse de la machine
Tempo = 1000
For zz = 1 To Tempo
Next
2 : tempo par Timer
Inconvénient : pas de différence de vitesse notable en dessous de 0.05 s de tempo
Start_V = Timer ' Définit l'heure de début.
Do While Timer < Start_V + 0.03
DoEvents ' Donne le contrôle à d'autres processus.
Loop
3 : suspension du code par la fonction Sleep(nb millisecondes)
Inconvénient : pas de différence de vitesse notable en dessous de 50msec
Sleep (1000) ' dans le code 1000 suspend l 'exécution 1 seconde
Sleep (100) ' dans le code 100 suspend l 'exécution 1/10 de seconde
Sleep (10) ' dans le code 10 suspend l 'exécution 1/100 de seconde
4 : ne rien faire, ça marche aussi bien mais affichage dépend de la vitesse de la machine
Un exemple avec la fonction SLEEP pour afficher un msgbox temporairement :
Declare sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) sub Tempo() Application.StatusBar = "Msg 1" Sleep (3000) ' pause de 3 secondes Application.StatusBar = "Msg 2" Sleep (3000) ' pause de 3 secondes Application.StatusBar = "Prêt" end sub
Auteur : Robert Dezan
Mots clefs associés à cette page : sleep, temporisation
- Vous devez vous identifier ou créer un compte pour écrire des commentaires
