Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [M3]) Is Nothing Then Exit Sub
Dim w As Worksheet, c As Range
If TypeName([Cible]) = "Range" Then
[Cible].Interior.Color = [couleur]
ThisWorkbook.Names("Cible").Delete
ThisWorkbook.Names("couleur").Delete
End If
For Each w In Worksheets
Set c = w.[C:C].Find([M3], , xlValues, xlWhole)
If Not c Is Nothing Then
ThisWorkbook.Names.Add "Cible", c, Visible:=False 'nom masqué
ThisWorkbook.Names.Add "couleur", c.Interior.Color, Visible:=False
c.Interior.ColorIndex = 3 'rouge
Application.Goto c
Exit Sub
End If
Next
MsgBox "Pas de correspondance..."
End Sub