Fonction Excel VBA DoEvents
Avec l'aide de VBA DoEvents , nous pouvons faire fonctionner le code en arrière-plan et nous permet simultanément de travailler avec Excel et d'autres logiciels d'application. DoEvents nous permet non seulement de travailler avec d'autres logiciels, mais nous pouvons également interrompre l'exécution du code.
La fonction DoEvents passe le contrôle au système d'exploitation de l'ordinateur sur lequel nous travaillons.

Comment utiliser la fonction DoEvents?
Une grande quantité de code VBA est requise lorsque l'exigence est énorme. Dans ces cas, Excel se bloque et s'arrête pendant un certain temps, et même parfois, il ne répond plus.
Par exemple, regardez le code ci-dessous.
Code:
Sub DoEvents_Example1 () Dim i As Long For i = 1 To 100000 Range ("A1"). Value = i Next i End Sub

Le code ci-dessus insérera des numéros de série de 1 à 100000. Il faudra facilement plus d'une minute pour exécuter la tâche. Pendant l'exécution, Excel se bloque pendant un temps considérable pour terminer la tâche. Pendant ce temps, Excel affiche le message «Excel ne répond pas».

De plus, nous ne pouvons pas accéder à la feuille de calcul sur laquelle nous travaillons. C'est une chose frustrante, alors comment rendre la feuille de calcul Excel disponible pour fonctionner pendant que le code s'exécute derrière l'écran.
Cela peut être réalisé en ajoutant une fonction VBA DoEvents .
Code:
Sub DoEvents_Example1 () Dim i As Long For i = 1 To 100000 Range ("A1"). Value = i DoEvents Next i End Sub

Au moment où nous ajoutons la fonction DoEvents dans le code, nous pouvons accéder à la feuille de calcul Excel.

De ce qui précède, nous pouvons voir que le code est en cours d'exécution, mais nous pouvons accéder à la feuille de calcul.
Interrompre l'exécution du code
Lorsque le code s'exécute derrière l'écran, nous pouvons ajouter des lignes, des colonnes et supprimer les mêmes, nous pouvons renommer la feuille et nous pouvons également faire beaucoup d'autres choses. Au moment où nous ajoutons DoEvents, cela accélère l'exécution du code VBA et nous permet de conclure que la tâche mentionnée s'exécute pour elle-même.
- L'un des dangers de la fonction DoEvents est lorsque nous changeons de feuille de calcul ou de classeur et qu'elle écrase les valeurs de feuille actives.
- Un autre danger est que si nous saisissons une valeur dans la cellule, l'exécution du code s'arrête et ne nous avertit même pas.