Bonjour à tous,
Sur la base du bon code d'Oxydum je propose cette variante qui permet de colorer en rouge une ou plusieurs lettres modifiées à l'intérieur du contenu de la cellule (et bien sûr avec les ajouts)
Ce qui devrait répondre à la remarque de James.
Et ici la vérif est limitée à la plage B2:C9
Option Explicit
Private Old_txt As String, New_txt As String
Private Old_adr As String, New_adr As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B2:C9")) Is Nothing Or Target.Count > 1 Then Exit Sub
New_txt = Target.Value
New_adr = Target.Address
Verif
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("B2:C9")) Is Nothing Or Target.Count > 1 Then Exit Sub
Old_txt = Target.Value
Old_adr = Target.Address
Verif
End Sub
Private Sub Verif()
Dim mini As Integer, i As Integer
If Not (Old_txt = New_txt) = (Old_adr = New_adr) Then
mini = IIf(Len(New_txt) >= Len(Old_txt), Len(Old_txt), Len(New_txt))
For i = 1 To mini
If Not Mid(Old_txt, i, 1) = Mid(New_txt, i, 1) Then
Range(Old_adr).Characters(Start:=i, Length:=1).Font.Color = vbRed
End If
Next i
If Len(New_txt) > Len(Old_txt) Then
Range(Old_adr).Characters(Start:=Len(Old_txt) + 1, Length:=Len(New_txt) _
- Len(Old_txt) + 1).Font.Color = vbRed
End If
End If
End Sub
Pierre