Dans la leçon précédente, nous avons examiné les événements liés à l'ensemble du livre. Nous allons maintenant nous concentrer sur les événements liés à une seule feuille.
Pour exécuter des instructions basées sur des événements pour une feuille de calcul individuelle, sélectionnez la feuille de calcul dans l'éditeur, puis Worksheet :
L'événement SelectionChange sera ajouté par défaut. Cet événement est déclenché chaque fois que le contenu de la plage change :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub
Par exemple, le code suivant ajoute des couleurs de remplissage à une ou plusieurs cellules sélectionnées et supprime automatiquement la couleur de remplissage de la plage précédemment sélectionnée lorsque cette plage change :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static previous_selection As String If previous_selection <> "" Then 'Suppression de la couleur d'arrière-plan de la sélection précédente : Range(previous_selection).Interior.ColorIndex = xlColorIndexNone End If 'Ajout d'une couleur de fond à la sélection actuelle : Target.Interior.Color = RGB(181, 244, 0) 'Sauvegarde de l'adresse de la sélection en cours : previous_selection = Target.Address End Sub
Cet événement se produit lorsqu'une feuille de calcul est activée :
Private Sub Worksheet_Activate() End Sub
Cet événement se produit lorsqu'une autre feuille de calcul est activée :
Private Sub Worksheet_Deactivate() End Sub
Cet événement se produit lorsqu'un double-clic sur une cellule de feuille de calcul :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) End Sub
Cet événement se produit avant le clic droit de la souris sur la feuille de calcul :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) End Sub
Cet événement se produit chaque fois que les données d'une feuille de calcul sont calculées ou recalculées :
Private Sub Worksheet_Calculate() End Sub
Cet événement se produit chaque fois que le contenu des cellules d'une feuille donnée change :
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
Cet événement se produit lorsqu'un lien (hypertexte) est cliqué :
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink) End Sub
Pour exécuter le code sans aucun événement, insérez-le entre deux lignes de code comme ceci :
Application.EnableEvents = False '=> désactiver les événements 'Quelques consignes... Application.EnableEvents = True '=> réactiver les événements