Il est possible de déclencher du code Visual Basic dès qu'il se passe quelque chose de spécial (Fermeture d'un classeur, changement d'onglet, ...). Il peut se passer des choses (des événements) au niveau d'une feuille, ou du classeur entier
Pour s'en rendre compte, faites les choses suivantes :
1. Placez-vous dans un nouveau classeur, activez l'onglet Feuil1
2. Outils/Macros/Visual Basic Editor
3. Dans la partie de gauche, cherchez ou c'est écrit Feuil1 (Feuil1),
et cliquez 2 fois dessus. Ca doit ouvrir une page blanche sur la droite.
4. En haut de cette page blanche, il y a 2 listes déroulantes : (Général)
et (Déclaration)
5. Cliquez sur (Général), et choisissez Worksheet. Vous devriez
voir l'autre liste déoulante qui contient SélectionChange, etn
en dessous :
Private Sub Worksheet_SelectionChange(ByVal
Target As Range)
End Sub
6. Cliquez dans la liste en haut sur SélectionChange, et choisissez
BeforeDoubleClick. Votre écran doit ressembler à ceci :
Private Sub Worksheet_BeforeDoubleClick(ByVal
Target As Range, Cancel As Boolean)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
7. Modifiez la procédure DoubleClick Comme suit :
Private Sub Worksheet_BeforeDoubleClick(ByVal
Target As Range, Cancel As Boolean)
MsgBox "Je viens de cliquer 2 fois sur ma souris"
End Sub
Nous venons de définir qu'il doit se passer quelque chose à un certain instant, c'est un événement ! Moins important qu'une naissance, mais en informatique ça s'appelle un événement. QUE doit-on faire ? Afficher "Je viens de cliquer 2 fois avec ma souris". Et QUAND doit-on faire ça ? à l'instant même ou on clique deux fois sur la souris sur n'importe quelle cellule de Feuil1 (Puisqu'à l'étape 3, vous avez sélectionné Feuil1)
Essayons pour voir si ça marche : Revenez dans Excel, assurez-vous d'être dans Feuil1, et double-cliquez sur n'importe quelle cellule. Si tout s'est bien passé, vous devriez voir votre message personnalisé s'afficher à l'écran !
Nous avons fait un premier test avec un événements de feuille. Pour tester un événement de classeur, à l'étape 3, double cliquez sur ThisWorkbook au lieu de Feuil1 (Feuil1). En explorant par vous-même vous allez constater qu'il existe des tas d'événements possibles, que je vous propose d'étudier plus attentivement ici