Private Sub Workbook_SheetSelectionChange (ByVal Sh As Object, ByVal Target As Range)
Dim Plage As Range
On Error Resume Next
With Sh
If ShCol Is Nothing Then Initialise
Set Plage = Intersect (Target, Union (.Range (Plage1), .Range (Plage2)))
If Plage.Count <> Target.Count Then
If Plage Is Nothing Then Application.Goto .Range (ShCol (.Name)) _
Else Plage.Select
Else
ShCol.Remove .Name
ShCol.Add Target.Address, .Name
End If
End With
End Sub