time, timer, sleep, wait

Le
Tatanka
Bonjour, Bonjour,

Voici quatre macros qui permettent une pause de 5 secondes
en utilisant des codes différents.
Une méthode est-elle préférable à une autre ?
Quel est votre méthode préférée ?
Il y en a d'autres ?

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub arret1()
t = Timer
Do While Timer <= t + 5
DoEvents
Loop
MsgBox Timer - t
End Sub

Sub arret2()
t = Timer
Do Until Timer - t >= 5
DoEvents
Loop
MsgBox Timer - t
End Sub

Sub arret3()
t = Timer
Sleep (5000)
MsgBox Timer - t
End Sub

Sub arret4()
t = Time
attente = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 5)
Application.Wait attente
MsgBox Format(Time - t, "hh:mm:ss")
End Sub

Serge
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5460621
Bonjour.
Les fonctions "sleep" et "wait" ne consomme pas (ou très peu) de CPU.
Daniel

"Tatanka"
Bonjour, Bonjour,

Voici quatre macros qui permettent une pause de 5 secondes
en utilisant des codes différents.
Une méthode est-elle préférable à une autre ?
Quel est votre méthode préférée ?
Il y en a d'autres ?

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub arret1()
t = Timer
Do While Timer <= t + 5
DoEvents
Loop
MsgBox Timer - t
End Sub

Sub arret2()
t = Timer
Do Until Timer - t >= 5
DoEvents
Loop
MsgBox Timer - t
End Sub

Sub arret3()
t = Timer
Sleep (5000)
MsgBox Timer - t
End Sub

Sub arret4()
t = Time
attente = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 5)
Application.Wait attente
MsgBox Format(Time - t, "hh:mm:ss")
End Sub

Serge



Tatanka
Le #5460531
Bonjour,

Là je crois que je demande l'impossible mais sait-on jamais !
Est-ce possible de faire en sorte que le Sleep soit disponible
pour toutes mes macros sans que je sois obligé d'écrire :
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
au début d'un module ?

Serge
JB
Le #5460501
Bonsoir,

Arret1 et Arret2 ne sont pas bloquant

JB

On 18 avr, 16:56, "Tatanka"
Bonjour, Bonjour,

Voici quatre macros qui permettent une pause de 5 secondes
en utilisant des codes différents.
Une méthode est-elle préférable à une autre ?
Quel est votre méthode préférée ?
Il y en a d'autres ?

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub arret1()
    t = Timer
    Do While Timer <= t + 5
        DoEvents
    Loop
    MsgBox Timer - t
End Sub

Sub arret2()
    t = Timer
    Do Until Timer - t >= 5
        DoEvents
    Loop
    MsgBox Timer - t
End Sub

Sub arret3()
    t = Timer
    Sleep (5000)
    MsgBox Timer - t
End Sub

Sub arret4()
    t = Time
    attente = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 5)
    Application.Wait attente
    MsgBox Format(Time - t, "hh:mm:ss")
End Sub

Serge


Philippe.R
Le #5460151
Bonjour,
A tout hasard, as tu essayé d'intégrer l'instruction dans la procédure Open
de ThisWorkbook ?
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Tatanka" news:%
Bonjour,

Là je crois que je demande l'impossible mais sait-on jamais !
Est-ce possible de faire en sorte que le Sleep soit disponible
pour toutes mes macros sans que je sois obligé d'écrire :
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
au début d'un module ?

Serge



Publicité
Poster une réponse
Anonyme