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'hui1778
Hier1893
Cette semaine8847
Ce mois28140
Total depuis 200418230680

6
visiteurs actuellement en ligne

19 avril 2024