Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Target(1,1)= première cellule de la sélection (à cause des cellules fusionnées)
'Si target(1,1) est dans la plage B2:E32 et que Target(1,1) n'est pas vide
If Not Intersect(Target(1, 1), Range("B2:E32")) Is Nothing And Not IsEmpty(Target(1, 1)) Then
Dim c As Range, t
t = Split(Target(1, 1), " - ")
If UBound(t) > 0 Then t = t(1) Else t = t(0)
' rechercher dans le carnet en colonne B
Set c = Sheets("Carnet").Range("B:B").Find(What:=t, _
After:=Sheets("Carnet").Range("B1"), _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
MatchCase:=False)
'Si on a trouvé une occurence
If Not c Is Nothing Then
Application.Goto c, True
Else 'sinon
MsgBox t & " non trouvé dans le carnet", vbInformation, "Recherche carnet d'adresses"
End If
End If
End Sub