TOP

VBA-Leçon 11.2. Événements de feuille de calcul (événements Worksheet)

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.


Worksheet_SelectionChange (ouverture du classeur)

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

Worksheet_Activate (événement d'activation de feuille)

Cet événement se produit lorsqu'une feuille de calcul est activée :

Private Sub Worksheet_Activate()

End Sub

Worksheet_Deactivate (événement de désactivation de feuille)

Cet événement se produit lorsqu'une autre feuille de calcul est activée :

Private Sub Worksheet_Deactivate()

End Sub

Worksheet_BeforeDoubleClick (événement de double-clic sur une cellule)

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

Worksheet_BeforeRightClick (Événement avant clic droit)

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

Worksheet_Calculate (événement de calcul de feuille de calcul)

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

Worksheet_Change (événement de modification du contenu de la cellule)

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

Worksheet_FollowHyperlink (événement de clic sur un lien)

Cet événement se produit lorsqu'un lien (hypertexte) est cliqué :

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

End Sub

Désactiver temporairement tous les événements

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