Application.OnTime, méthode
Cette méthode programme l'exécution d'une procédure à un moment précis (soit à une heure précise soit après l'écoulement d'un délai précis).
Syntaxe
expression.OnTime(LePlutTôt, Procédure, LePlusTard, Planification)
expression Variable qui représente un objet Application.
Paramètres
Nom Obligatoire/Facultatif Type de données Description
LePlutTôt Obligatoire Variante Heure à laquelle vous voulez que la procédure s'exécute.
Procédure Obligatoire Chaîne Nom de la procédure à exécuter.
LePlusTard Facultatif Variante Heure maximale à laquelle la procédure peut être exécutée. Par exemple, si vous affectez à l'argument LePlusTard la valeur LePlutTôt + 30 et que Microsoft Excel n'est pas en mode Ready, Copy, Cut ou Find à l'heure LePlutTôt, car une autre procédure est en cours d'exécution, Microsoft Excel attendra la fin de la procédure pendant 30 secondes. Si Microsoft Excel ne se trouve pas en mode Ready dans les 30 secondes, la procédure ne sera pas exécutée. Si vous ne spécifiez pas cet argument, Microsoft Excel attendra jusqu'à ce que la procédure puisse être exécutée.
Planification Facultatif Variante Cet argument a la valeur True pour programmer une nouvelle procédure OnTime. Il a la valeur False pour effacer une procédure précédemment définie. La valeur par défaut est True.
Remarques
Utilisez Now + TimeValue(time) pour programmer une procédure à exécuter après un certain délai (à partir de maintenant). Utilisez TimeValue(time) pour programmer une procédure à exécuter à un moment précis.
Exemple
Cet exemple montre comment exécuter my_Procedure dans 15 secondes.
Visual Basic pour Applications
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
Cet exemple montre comment exécuter my_Procedure à 17 heures.
Visual Basic pour Applications
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
Cet exemple montre comment annuler le paramétrage de OnTime de l'exemple précédent.
Visual Basic pour Applications
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False