Existe-t-il un équivalent de Thread.Sleep()
dans Access VBA?
Réponses
Trop de publicités?Toutes les autres méthodes permettant d’attendre Excel ont pour résultat que Excel cesse de répondre. La solution pour faire attendre Excel tout en garantissant une interface utilisateur réactive consiste à appeler ce sous-serveur wait avec le nombre de secondes à attendre.
Sub Wait(seconds As Integer)
Dim now As Long
now = Timer()
Do
DoEvents
Loop While (Timer < now + seconds)
End Sub
- Je l'utiliser dans Excel et il fonctionne très bien:
Application.Wait DateAdd("s", 1, Now())
DateAdd() est une fonction définie une fois, par rapport à l' Now()
(dans ce cas vous pouvez utiliser d'autres valeurs que votre argument), "s"
est la mesure de temps (secondes, dans ce cas), et l'incrément est 1. Donc, ici, l'appel de la fonction est de dire la demande d'attendre 1 seconde.
Voir aussi pour plus de détails sur l'utilisation de l' DateAdd
fonction.