Sub test()
Dim plage As Range, mot$, couleur As Long
Set plage = [B1:B1200]
mot = InputBox("tapez le(s) mot recherché(s)", "mot à colorier")
If mot <> "" Then
If Application.Dialogs(xlDialogEditColor).Show(2, 255, 0, 0) = True Then
couleur = ActiveWorkbook.Colors(2)
End If
ActiveWorkbook.ResetColors
'si tu debloque le true tu enleveles couleurs precedentes dans les autres mots
rouletambourg plage, mot, couleur ', True
End If
End Sub
Sub rouletambourg(plage As Range, mot As String, Optional couleur As Long = vbRed, Optional razcouleur As Boolean = False)
Dim cel As Range, i&
If razcouleur Then plage.Font.Color = vbBlack
For Each cel In plage.Cells
If cel.Value <> "" Then
If LCase(cel.Text) Like "*" & LCase(mot) & "*" Then
For i = 1 To Len(cel.Value)
If Mid(LCase(cel.Value), i, Len(mot)) = LCase(mot) Then cel.Characters(i, Len(mot)).Font.Color = couleur
Next
End If
End If
Next
End Sub