Private Sub Worksheet_Change(ByVal Target As Range)
Dim cible$, L%, c As Range, x$, i%
cible = LCase(CStr([B1]))
L = Len(cible)
With Range("A2:A" & Rows.Count).Font
.Bold = False
.ColorIndex = xlAutomatic
End With
If cible = "" Then Exit Sub
For Each c In [A:A].SpecialCells(xlCellTypeConstants)
x = LCase(CStr(c))
If c.Row > 1 And InStr(x, cible) Then
For i = 1 To Len(x)
If Mid(x, i, L) = cible Then
With c.Characters(i, L).Font
.Bold = True
.Color = vbRed
End With
End If
Next i
End If
Next c
End Sub