![](https://codky.com/wp-content/uploads/2024/11/2662-1024x576.png)
En VBA (Visual Basic for Applications), les événements `Activate` et `Deactivate` sont utilisés pour exécuter du code lorsque certains objets comme les formulaires ou les feuilles de calcul sont activés ou désactivés. Voici comment vous pouvez les utiliser :
Dans un Formulaire (UserForm)
Activate
L’événement `Activate` se déclenche lorsque le formulaire devient actif, c’est-à-dire lorsque l’utilisateur bascule vers ce formulaire.
Private Sub UserForm_Activate()
MsgBox "Le formulaire est maintenant actif."
' Vous pouvez mettre ici le code que vous souhaitez exécuter
End Sub
Deactivate
L’événement `Deactivate` se produit lorsque le formulaire devient inactif, par exemple, lorsque l’utilisateur bascule vers un autre formulaire ou une autre application.
Private Sub UserForm_Deactivate()
MsgBox "Le formulaire n'est plus actif."
' Code à exécuter lorsque le formulaire est désactivé
End Sub
Dans une Feuille de Calcul
Pour les feuilles de calcul, vous devez placer le code des événements dans le module de code de la feuille (pas dans un module standard).
Activate
Cet événement est déclenché lorsque la feuille de calcul devient la feuille active.
Private Sub Worksheet_Activate()
MsgBox "La feuille de calcul est maintenant active."
' Code que vous souhaitez exécuter
End Sub
Deactivate
Cet événement est déclenché lorsque la feuille de calcul devient inactive.
Private Sub Worksheet_Deactivate()
MsgBox "La feuille de calcul n'est plus active."
' Code à exécuter lorsque la feuille est désactivée
End Sub
Notes Importantes
- Ces événements sont très utiles pour gérer des interfaces utilisateur dynamiques, mettre à jour des informations à l’écran automatiquement ou conserver l’intégrité des données lorsque l’utilisateur change de vue.
- Ils sont souvent utilisés pour initialiser ou nettoyer des données, rafraîchir des contrôles, ou encore sauvegarder l’état d’une application.
En appliquant ces concepts, vous pouvez contrôler et automatiser le comportement de votre application lorsque différentes parties de cette dernière deviennent actives ou inactives, ce qui améliore l’interactivité et la réactivité de vos applications VBA.