Vidéo: Formation EXCEL 2016 VBA - Initiation | Présentation du langage VBA 2025
Êtes-vous curieux de savoir comment écrire une procédure de gestionnaire d'événements dans VBA? ? Le VBE vous aide lorsque vous êtes prêt à écrire une procédure de gestionnaire d'événements, il affiche une liste de tous les événements pour l'objet sélectionné.
En haut de chaque fenêtre Code, vous trouvez deux listes déroulantes:
-
La liste déroulante Objet (celle de gauche)
-
La liste déroulante Procédure (celle de droite)
Par défaut, la La liste déroulante des objets dans la fenêtre Code affiche Général.
Si vous écrivez un gestionnaire d'événements pour l'objet ThisWorkbook, vous devez cliquer sur ThisWorkbook dans la fenêtre Projet, puis choisir Classeur dans la liste déroulante Objet (il est le seul autre choix).
Si vous écrivez un gestionnaire d'événements pour un objet Sheet, vous devez cliquer sur la feuille spécifique dans la fenêtre Projet, puis choisissez Feuille de calcul dans la liste déroulante Objet (encore une fois, la seule autre choix).
Une fois que vous avez fait votre choix dans la liste déroulante Objet, vous pouvez choisir l'événement dans la liste déroulante Procédure. Voici quelques-uns des choix possibles pour un événement lié à un classeur.
Lorsque vous sélectionnez un événement dans la liste, VBE démarre automatiquement la création d'une procédure de gestionnaire d'événements pour vous. C'est une fonctionnalité très utile, car elle vous indique exactement quels sont les arguments appropriés.
Voici une petite bizarrerie. Lorsque vous sélectionnez Workbook pour la première fois dans la liste Objet, VBE suppose toujours que vous voulez créer une procédure de gestionnaire d'événements pour l'événement Open et que vous le créez pour vous. Si vous créez réellement une procédure Workbook_Open, c'est bien. Mais si vous créez une procédure événementielle différente, vous devez supprimer le Workbook_Open Sub vide qui a été créé.
L'aide de VBE ne va cependant que jusqu'à présent. Il écrit l'instruction Sub et l'instruction End Sub. Écrire le code VBA qui va entre ces deux déclarations est votre travail.
Vous n'avez pas vraiment besoin d'utiliser ces deux listes déroulantes, mais cela facilite votre travail, car le nom de la procédure du gestionnaire d'événements est extrêmement important. Si vous n'obtenez pas exactement le nom correct, la procédure ne fonctionnera pas. En outre, certaines procédures de gestionnaire d'événements utilisent un ou plusieurs arguments dans l'instruction Sub. Vous ne pouvez pas vous souvenir de ces arguments. Par exemple, si vous sélectionnez SheetActivate dans la liste d'événements d'un objet Workbook, VBE écrit l'instruction Sub suivante:
Private Sub Workbook_SheetActivate (ByVal Sh comme objet)
Dans ce cas, Sh est l'argument passé à la procédure et est une variable qui représente la feuille dans le classeur activé.
