Effectuer une pause dans le code

Contenu du snippet

Il vous faut un module où vous placerez tout ce code

Source / Exemple :


Private Type SYSTEMTIME
        wYear As Integer
        wMonth As Integer
        wDayOfWeek As Integer
        wDay As Integer
        wHour As Integer
        wMinute As Integer
        wSecond As Integer
        wMilliseconds As Integer
End Type
Private Declare Sub GetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
Dim T1 As SYSTEMTIME, T2 As SYSTEMTIME, T3 As SYSTEMTIME

Public Sub Pause(Duree As Double, AutoDoEvents As Boolean)
If Duree > 30000 Then Exit Sub

Dim TpsEcoule 'Temps écoulé
GetSystemTime T2
Do
GetSystemTime T1
If T1.wMilliseconds < T2.wMilliseconds Then T1.wMilliseconds = T1.wMilliseconds + 1000: T1.wSecond = T1.wSecond - 1
T3.wMilliseconds = T1.wMilliseconds - T2.wMilliseconds
If T1.wSecond < T2.wSecond Then T1.wSecond = T1.wSecond + 60 ': T1.wMinute = T1.wMinute - 1
T3.wSecond = T1.wSecond - T2.wSecond

TpsEcoule = T3.wMilliseconds + T3.wSecond * 1000 + T3.wMinute * 60 * 1000 + T3.wHour * 60 * 60 * 1000
If TpsEcoule >= Duree Then Exit Sub
If AutoDoEvents = True Then DoEvents
Loop
End Sub

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.