DoEvents, fonction

Remarque : La fonction, la méthode, l’objet ou la propriété décrits dans cette rubrique est désactivée si le service d’expressions de Microsoft Jet s’exécute en mode sandbox, ce qui empêche l’évaluation d’expressions potentiellement non sûres. Pour plus d’informations sur le mode sandbox, recherchez « mode sandbox » dans l’Aide.

Exécute le projet de sorte que le système d’exploitation puisse traiter d’autres événements.

Syntaxe

DoEvents ( )

Remarques

La fonction DoEvents renvoie un nombre total représentant le nombre de formulaires ouverts dans les versions autonomes de Microsoft Visual Basic, telles que Visual Basic, Édition Professionnel. DoEvents renvoie zéro dans toutes les autres applications.

DoEvents transmet le contrôle au système d’exploitation. Le contrôle est renvoyé une fois que le système d’exploitation a fini de traiter les événements dans sa file d’attente et que toutes les clés de la file d’attente SendKeys ont été envoyées.

DoEvents est particulièrement utile pour des opérations simples telles que la permettre à un utilisateur d’annuler un processus après qu’il a commencé, par exemple, une recherche de fichier. Pour les processus de longue durée, le rendement au processeur est mieux réalisé à l’aide d’un timer ou en déléguer la tâche à un ActiveX EXE. Dans ce dernier cas, la tâche peut continuer à être totalement indépendante de votre application, et le système d’exploitation s’occupe du multitâche et de la catégorie de temps.

Dès que vous rendementez temporairement au processeur au cours d’une procédure de cas, assurez-vous que le procédure n’est pas exécuté à partir d’une autre partie de votre code avant le retour du premier appel ; Cela peut entraîner des résultats imprévisibles. De plus, n’utilisez pas DoEvents si d’autres applications pourraient éventuellement interagir avec votre procédure de façon inattendue pendant la période pendant que vous avez pris le contrôle.

Exemple

Remarque : Les exemples qui suivent illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’travail avec VBA, sélectionnez Référence du développeur dans la liste de listes en regard de Rechercher, puis entrez un ou plusieurs termes dans la zone de recherche.

Cet exemple utilise la fonction DoEvents pour entraîner le rendement de l’exécution vers le système d’exploitation une fois toutes les 1 000 itérations de la boucle. DoEvents renvoie le nombre de formulaires ouverts Visual Basic formulaires, mais uniquement lorsque l’application hôte est Visual Basic.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.

Besoin d’aide ?

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×