Partager via


Méthode Application.OnTime (Word)

Démarre une horloge d'arrière-plan qui exécute une macro à l'heure spécifiée.

Syntaxe

expression. OnTime( _When_ , _Name_ , _Tolerance_ )

expression Obligatoire. Variable qui représente un objet Application.

Parameters

Nom Requis/Facultatif Type de données Description
When Obligatoire Variant Heure à laquelle la macro doit être exécutée.
Name Obligatoire Chaîne Nom de la macro à exécuter.
Tolerance Facultatif Variant Durée maximale (en secondes) pouvant s'écouler avant l'annulation d'une macro n'ayant pas été exécutée au moment indiqué par l'argument Quand. Les macros ne sont pas toujours exécutées au moment spécifié. Par exemple, si une opération de tri est en cours ou si une boîte de dialogue est affichée, la macro sera retardée jusqu'à ce que Word ait achevé la tâche active. Si vous avez affecté la valeur 0 (zéro) à cet argument ou si vous ne l'avez pas spécifié, la macro est exécutée, quelle que soit la durée écoulée depuis le moment spécifié par Quand.

Remarques

Le paramètre When peut être une chaîne qui spécifie une heure (par exemple, "4:30 pm" ou "16:30"), ou il peut s’agir d’un numéro de série retourné par une fonction telle que TimeValue ou TimeSerial (par exemple, TimeValue("2:30 pm") ou TimeSerial(14, 30, 00)). Vous pouvez également inclure la date (par exemple, "6/30 4:15 pm" ou TimeValue("6/30 4:15 pm")).

Pour le paramètre Name, utilisez le chemin d’accès complet de la macro pour vous assurer que la macro correcte est exécutée (par exemple, "Project.Module1.Macro1"). Pour la macro à exécuter, le document ou le modèle doit être disponible lorsque l'instruction OnTime est exécutée et l'heure spécifiée par When. Pour cette raison, il est préférable de stocker la macro dans Normal.dot ou dans un autre modèle global chargé automatiquement.

Utilisez la somme des valeurs renvoyées par la fonction Now et la fonction TimeValue ou TimeSerial pour définir une horloge permettant d'exécuter une macro un certain temps après l'exécution de l'instruction. Par exemple, utilisez Now+TimeValue("00:05:30") pour exécuter une macro 5 minutes et 30 secondes après l'exécution de l'instruction.

Word ne peut gérer qu'une seule horloge d'arrière-plan définie par la méthode OnTime. Si vous démarrez une autre avant exécution du compteur existant, le minuteur existant est annulé.

Exemple

Cet exemple montre comment exécuter à 15:55 la macro « Macro1 » dans le module actif.

Application.OnTime When:="15:55:00", Name:="Macro1"

Cet exemple montre comment exécuter la macro « Macro1 » 15 secondes après l'exécution de l'exemple. Le nom de la macro contient le nom du projet et celui du module.

Application.OnTime When:=Now + TimeValue("00:00:15"), _ 
 Name:="Project1.Module1.Macro1"

Cet exemple montre comment exécuter la macro « Start » à 13:30. Le nom de la macro contient le nom du projet et celui du module.

Application.OnTime When:=TimeValue("1:30 pm"), _ 
 Name:="VBAProj.Module1.Start"

Voir aussi

Objet Application

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.