user_mobilelogo

Vote utilisateur: 5 / 5

Etoiles activesEtoiles activesEtoiles activesEtoiles activesEtoiles actives
 

 

Vous pouvez utilisez la méthode OnTime prévue pour faire démarrer la macro à une heure donnée.

Cette méthode va permettre également de faire une pause dans une macro, en définissant un laps de temps avant la reprise..

La syntaxe est la suivante :

Application.OnTime(WhenName, Tolerance)

L'argument When détermine l'heure à laquelle la macro va reprendre. On va donc utiliser la fonction Now à laquelle on va ajouter le laps de temps souhaité.

L'agument Name demande le nom de la macro à exécuter. Ce qui signifie qu'il faudra donc deux macros, l'une pour le début du code et l'autre pour la fin du code après la pause.

L'argument Tolérance permet d'annuler la macro. C'est la durée maximale (en secondes) pouvant s'écouler avant l'annulation de la seconde macro tant qu'elle n'a pas été exécutée.


L'exemple ci-dessous montre affiche un message, puis attend 20 secondes avant d'afficher le seconde message compris dans la seconde macro.

Sub Macro1()
MsgBox "Ceci est le début de la macro, lorsque vous appuierez sur OK," & _
" vous attendrez 20 secondes que la macro reprenne"
' Pause de 20 seconds.
Application.OnTime When:=Now + TimeValue("00:00:20"), _
Name:="Macro2"

End Sub

Public Sub Macro2()
MsgBox "la seconde macro reprend : Ce message s'affiche 20 secondes après le premier"
End Sub

 



Statistiques

Aujourd'hui675
Hier2165
Cette semaine8171
Ce mois38403
Total depuis 200418240943

20
visiteurs actuellement en ligne

26 avril 2024