Partager via


Autorisation des interruptions de l’utilisateur dans les opérations longues (traduction automatique)

Dernière modification : dimanche 15 mars 2009

S’applique à : Excel 2010 | Office 2010 | VBA | Visual Studio

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Bien que Windows utilise le mode multitâche préemptif, lorsque vos fonctions ou commandes peuvent être longues à exécuter, il est recommandé de céder du temps au système d’exploitation de temps à autre pour lui permettre de planifier les tâches simultanées. En utilisant les appels Windows natifs, la fonction sleep vous permet de réaliser cela. En utilisant l’API C, la fonction xlAbort vous permet de réaliser cela, qui non seulement cède un instant au processeur, mais vérifie également si l’utilisateur a appuyé sur la touche d’annulation ESC.

La fonction xlAbort permet donc à votre code vérifier si l'utilisateur souhaite mettre fin au processus, effectuer le nettoyage nécessaire et rendre ensuite le contrôle vers Excel. La fonction permet d'effacer la condition d'arrêt. Cela permet à vos commandes afficher une boîte de dialogue pour vérifier si l'utilisateur souhaite mettre fin à la commande. Si l'utilisateur ne souhaite pas mettre fin à la commande, l'appel de la fonction xlAbort avec l'argument FALSE efface le saut. (L'argument par défaut est TRUE, qui vérifie la condition simplement mais vous ne le supprime pas.)

Vous pouvez appeler la fonction xlAbort à partir d'une fonction définie par l'utilisateur (UDF) ou d'une commande XLL. Dans un fichier UDF, lorsque la fonction xlAbort retourne TRUE, ayant détecté un saut de l'utilisateur, vous souhaitez généralement Coupez court le calcul de la fonction et retourner une valeur pour indiquer que le calcul n'était pas terminé, peut-être une erreur ou zéro. Désactivez pas la condition d'arrêt afin que les autres instances de longues fonctions qui vérifient également cette condition est également rompre. Excel efface implicitement cette condition lorsqu'un nouveau calcul se termine.

Lorsque vous détectez une condition d'interruption dans une commande, vous la désactivez normalement la condition en appelant la fonction xlAbort à l'aide de l'argument FALSE, bien que Excel efface implicitement cette condition issue d'une commande.

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Voir aussi

Concepts

Fonctions de l’API C appelables uniquement depuis une DLL ou XLL (traduction automatique)

Recalcul multithread dans Excel (traduction automatique)

Développement de XLL Excel 2010 (traduction automatique)

Procédure : accéder aux handles de l’instance et de la fenêtre principale Excel (traduction automatique)