Evénements de feuille

Evénements de feuille (Sheet)

Equivalent relatif du Workbook
Nom d'événement
Se passe quand
Paramètres
Workbook_
SheetActivate
Worksheet_Activate() On clique dans une cellule de la feuille du classeur ou se trouve cette procédure. Elle ne se déclenche pas si on était dans un autre classeur, ni si on était dans un autre programme
Workbook_
SheetBeforeDoubleClick
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Survient dès qu'on clique 2 fois dans une cellule(pour l'éditer par exemple).
Cet événement survient juste avant Workbook_SheetBeforeDoubleClick

ByVal Target As Range
Correspond à la cellule sur laquelle on double-clique. Si on double clique sur B6,
MsgBox Target.AddressLocal
Affichera $B$6.
Cancel As Boolean
Contient True ou False. Si on ne voulait pas pouvoir éditer une cellule en cliquant 2 fois dessus, on écrirait dans cette procédure
Cancel = True

Workbook_
SheetBeforeRightClick
Worksheet_BeforeRightClick (ByVal Target As Range, Cancel As Boolean)

Survient dès qu'on clique dans une cellule ou une plage de cellules avec le bouton droit de la souris (pour faire apparaître le menu contextuel).
Cet événement survient juste avant Workbook_SheetBeforeRightClick

ByVal Target As Range
Correspond à la cellule sur laquelle on clique avec le bouton droit. Si on clique avec le bouton droit sur B6,
MsgBox Target.AddressLocal
Affichera $B$6.
Cancel As Boolean
Contient True ou False. Si on ne voulait pas que le menu contextuel s'affiche quand on clique avec le bouton droit, on écrirait dans cette procédure
Cancel = True
Workbook_
SheetCalculate
Worksheet_Calculate()

Dès qu'on demande un recalcul de la feuille (F9). Cet événement ne survient jamais si le mode de calcul est automatique (Outils/Options/Calcul/Mode de calcul)
Cet événement survient juste avant Workbook_SheetCalculate

 
Workbook_
SheetChange
Worksheet_Change (ByVal Target As Range)

Dès qu'on crée, modifie ou efface le contenu d'une cellule.
Cet événement survient juste avant Workbook_SheetChange

ByVal Target As Range
Correspond à la cellule dont on vient de changer la valeur. Si on vient de modifier B6,
MsgBox Target.AddressLocal
Affichera $B$6 (Quelle que soit la cellule ou on se trouve après)
Workbook_
SheetDeactivate
Worksheet_Deactivate() Fait exactement l'inverse de Worksheet_Activate  
Workbook_
SheetFollowHyperlink
Worksheet_FollowHyperlink (ByVal Target As Hyperlink)

Lorsqu'on clique sur un lien hypertexte, par exemple un service Web, on quitte automatiquement Excel pour aller dans le navigateur. Cette procédure s'exécutera juste avant Workbook_SheetFollowHyperlink

ByVal Target As Hyperlink
Correspond à l'adresse ou on veut se rendre (www, autre fichier, ...)
MsgBox "Target.Address"
Affiche http://www.nomduserveur.com
Workbook_
SheetSelectionChange
Worksheet_SelectionChange (ByVal Target As Range) S'exécute dès qu'on change de cellule, ou qu'on sélectionne une plage de cellule à la souris, ou même une ligne, une colonne ou le tableau entier. ByVal Target As Range
Correspond à la cellule sur laquelle on vient de se positionner. Si on vient de sélectionner la plage B4:C6
MsgBox Target.AddressLocal
Affichera $B$4:$C$6 (Quelle que soit la cellule ou on se trouve après)

Private Sub Worksheet_Activate()
  MsgBox "Worksheet_Activate()"
End Sub


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox "Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)"
End Sub


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox "Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)"
End Sub


Private Sub Worksheet_Calculate()
  MsgBox "Worksheet_Calculate()"
End Sub


Private Sub Worksheet_Change(ByVal Target As Range)
  MsgBox "Worksheet_Change(ByVal Target As Range)"
End Sub


Private Sub Worksheet_Deactivate()
  MsgBox "Worksheet_Deactivate()"
End Sub


Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
  MsgBox "Worksheet_FollowHyperlink(ByVal Target As Hyperlink)"
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  MsgBox "Worksheet_SelectionChange(ByVal Target
As Range)"
End Sub