J'ai lu qu'on devrait ou pourrait utiliser un DoEvents lorsqu'on veut remettre la main au système.
Mais ... si dans un classeur j'ai le code Workbooks("Test").open ... devrait-on ensuite avoir le DoEvents? Car est-ce le système qui l'ouvre de cette manière?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 15/11/20 Í 16:58, a écrit :
Bonjour, Puis-je vous demander votre opinion su ceci? J'ai lu qu'on devrait ou pourrait utiliser un DoEvents lorsqu'on veut remettre la main au système. Mais ... si dans un classeur j'ai le code Workbooks("Test").open ... devrait-on ensuite avoir le DoEvents? Car est-ce le système qui l'ouvre de cette manière? Merci Í l'avance.
Bonjour, Voici un exemple de l'utilité de la commande DoEvents Suppose que tu as créé une boucle et que tu as fait une erreur de code en l'écrivant et que la boucle est sans fin, si tu inscris dans la boucle la commande "Doevents", tu peux ajouter un point d'arrêt et la macro va s'arrêter, sans cette commande, ce serait impossible. Dans une boucle sans fin, le processeur focus aux actions qu'il doit exécuter. Lorsque tu insères un DoEvents, cette commande demande Í Windows une pause, question de savoir si l'usager devant l'ordinateur a demandé une autre tÍ¢che (comme un clic pour ajouter un point d'arrêt Í la procédure (boucle). Si l'usager ne demande rien de particulier, la boucle ne s'arrête pas. Attention, cette pause se fait Í l'intérieur de l'application. Pendant une boucle sans fin, tu ne peux pas intervenir dans Excel mais rien ne t'empêche d'ouvrir Word. Dans une macro, cette ligne de commande "Workbooks("Test").open" va s'exécuter. Nul besoin d'utiliser doevents. Dans une procédure, chaque ligne s'exécute une Í la suite de l'autre. MichD
Le 15/11/20 Í 16:58, rmill...@gmail.com a écrit :
Bonjour,
Puis-je vous demander votre opinion su ceci?
J'ai lu qu'on devrait ou pourrait utiliser un DoEvents lorsqu'on veut remettre la main au système.
Mais ... si dans un classeur j'ai le code Workbooks("Test").open ... devrait-on ensuite avoir le DoEvents? Car est-ce le système qui l'ouvre de cette manière?
Merci Í l'avance.
Bonjour,
Voici un exemple de l'utilité de la commande DoEvents
Suppose que tu as créé une boucle et que tu as fait une erreur de code
en l'écrivant et que la boucle est sans fin, si tu inscris dans la
boucle la commande "Doevents", tu peux ajouter un point d'arrêt et la
macro va s'arrêter, sans cette commande, ce serait impossible.
Dans une boucle sans fin, le processeur focus aux actions qu'il doit
exécuter. Lorsque tu insères un DoEvents, cette commande demande Í
Windows une pause, question de savoir si l'usager devant l'ordinateur a
demandé une autre tÍ¢che (comme un clic pour ajouter un point d'arrêt Í
la procédure (boucle). Si l'usager ne demande rien de particulier, la
boucle ne s'arrête pas. Attention, cette pause se fait Í l'intérieur de
l'application. Pendant une boucle sans fin, tu ne peux pas intervenir
dans Excel mais rien ne t'empêche d'ouvrir Word.
Dans une macro, cette ligne de commande "Workbooks("Test").open" va
s'exécuter. Nul besoin d'utiliser doevents. Dans une procédure, chaque
ligne s'exécute une Í la suite de l'autre.
Bonjour, Puis-je vous demander votre opinion su ceci? J'ai lu qu'on devrait ou pourrait utiliser un DoEvents lorsqu'on veut remettre la main au système. Mais ... si dans un classeur j'ai le code Workbooks("Test").open ... devrait-on ensuite avoir le DoEvents? Car est-ce le système qui l'ouvre de cette manière? Merci Í l'avance.
Bonjour, Voici un exemple de l'utilité de la commande DoEvents Suppose que tu as créé une boucle et que tu as fait une erreur de code en l'écrivant et que la boucle est sans fin, si tu inscris dans la boucle la commande "Doevents", tu peux ajouter un point d'arrêt et la macro va s'arrêter, sans cette commande, ce serait impossible. Dans une boucle sans fin, le processeur focus aux actions qu'il doit exécuter. Lorsque tu insères un DoEvents, cette commande demande Í Windows une pause, question de savoir si l'usager devant l'ordinateur a demandé une autre tÍ¢che (comme un clic pour ajouter un point d'arrêt Í la procédure (boucle). Si l'usager ne demande rien de particulier, la boucle ne s'arrête pas. Attention, cette pause se fait Í l'intérieur de l'application. Pendant une boucle sans fin, tu ne peux pas intervenir dans Excel mais rien ne t'empêche d'ouvrir Word. Dans une macro, cette ligne de commande "Workbooks("Test").open" va s'exécuter. Nul besoin d'utiliser doevents. Dans une procédure, chaque ligne s'exécute une Í la suite de l'autre. MichD
Derien (surtout que ce n'était pas moi qui répondais) DoEvents est documentée ici https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/doevents-function Windows gère des messages généralement envoyés avec SendMessage (https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage) Ces messages sont des événements type click, drag-and-drop etc. DoEvents sert alors Í indiquer que les messages en cours doivent être traités même si le code VBA est occupé Í autre chose. Bonne soirée. -- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus
Le 16/11/2020 Í 02:12, rmill...@gmail.com a écrit :
Un grand merci.
Derien (surtout que ce n'était pas moi qui répondais)
Derien (surtout que ce n'était pas moi qui répondais) DoEvents est documentée ici https://docs.microsoft.com/fr-fr/office/vba/language/reference/user-interface-help/doevents-function Windows gère des messages généralement envoyés avec SendMessage (https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage) Ces messages sont des événements type click, drag-and-drop etc. DoEvents sert alors Í indiquer que les messages en cours doivent être traités même si le code VBA est occupé Í autre chose. Bonne soirée. -- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. https://www.avast.com/antivirus