Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Application.Ontime...

5 réponses
Avatar
Yvan
Bonjour,

Est-on systématiquement obligé d'indiquer une macro (même si celle-ci est
vide) à la fin de l'instruction Application.Ontime, du style :
Application.Ontime Now + Timevalue("00:00:30"),"Patienter"

avec

Sub Patienter

' Macro destinée à faire patienter l'utilisateur

End sub

si l'on veut faire patienter l'utilisateur 15 secondes.

--
Merci pour vos réponses.

5 réponses

Avatar
isabelle
bonjour Yvan,

oui, voici un extrait de l'aide

expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
Procedure Argument de type String obligatoire. Nom de la procédure à
exécuter.

isabelle

Bonjour,

Est-on systématiquement obligé d'indiquer une macro (même si celle-ci est
vide) à la fin de l'instruction Application.Ontime, du style :
Application.Ontime Now + Timevalue("00:00:30"),"Patienter"

avec

Sub Patienter

' Macro destinée à faire patienter l'utilisateur

End sub

si l'on veut faire patienter l'utilisateur 15 secondes.



Avatar
isabelle
utilise à la place la méthode Wait,

Sub test()
x = Now
Application.Wait Now + 5 / 3600 / 10
MsgBox Format(Now - x, "ss")
End Sub

isabelle


Bonjour,

Est-on systématiquement obligé d'indiquer une macro (même si celle-ci est
vide) à la fin de l'instruction Application.Ontime, du style :
Application.Ontime Now + Timevalue("00:00:30"),"Patienter"

avec

Sub Patienter

' Macro destinée à faire patienter l'utilisateur

End sub

si l'on veut faire patienter l'utilisateur 15 secondes.



Avatar
isabelle
re..

sur mon poste,
Application.Wait Now + 5 / 3600 / 8
donne exactement 15 sec

isabelle


Bonjour,

Est-on systématiquement obligé d'indiquer une macro (même si celle-ci est
vide) à la fin de l'instruction Application.Ontime, du style :
Application.Ontime Now + Timevalue("00:00:30"),"Patienter"

avec

Sub Patienter

' Macro destinée à faire patienter l'utilisateur

End sub

si l'on veut faire patienter l'utilisateur 15 secondes.



Avatar
Yvan
Merci pour ta réponse.

Je m'aperçois que je n'utilise peut-être pas la bonne formule. En fait,
l'objectif est le suivant :

Je veux copier un fichier dont l'heure de mise à dispostion peut varier d'un
jour à l'autre. La macro suivante vérifie donc si le fichier est dispo et si
c'est le cas, ce dernier est copié. Si ce n'est pas le cas, la macro effectue
une pause pendant 5 mn et au terme de cette pause vérifie à nouveau si le
fichier est dispo en vue de la copier.

Rota:
If Dir("I:DEPARTCENTRALERota.XLS") = "" Then
Application.OnTime Now + TimeValue("00:00:15"), "Attendre"
GoTo Rota
Else
MsgBox "Copie du fichier"
End If
End Sub

Sub Attendre()

End Sub

La formule Application.Ontime était donc destinée à effectuer la pause de 5
mn. Quelle autre formule puis-je utiliser ???

Merci.


bonjour Yvan,

oui, voici un extrait de l'aide

expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
Procedure Argument de type String obligatoire. Nom de la procédure à
exécuter.

isabelle

Bonjour,

Est-on systématiquement obligé d'indiquer une macro (même si celle-ci est
vide) à la fin de l'instruction Application.Ontime, du style :
Application.Ontime Now + Timevalue("00:00:30"),"Patienter"

avec

Sub Patienter

' Macro destinée à faire patienter l'utilisateur

End sub

si l'on veut faire patienter l'utilisateur 15 secondes.






Avatar
isabelle
ou comme dans ton exemple et plus facile à lire (Timevalue)

Application.Wait Now + Timevalue("00:00:30")

isabelle


utilise à la place la méthode Wait,

Sub test()
x = Now
Application.Wait Now + 5 / 3600 / 10
MsgBox Format(Now - x, "ss")
End Sub

isabelle


Bonjour,

Est-on systématiquement obligé d'indiquer une macro (même si celle-ci
est vide) à la fin de l'instruction Application.Ontime, du style :
Application.Ontime Now + Timevalue("00:00:30"),"Patienter"

avec

Sub Patienter

' Macro destinée à faire patienter l'utilisateur

End sub

si l'on veut faire patienter l'utilisateur 15 secondes.