Option Explicit
Private Const NBCAR = 9
Private Const PLAGECONTRÔLE = "A1:Z30"
Private Sub Worksheet_Change(ByVal Target As Range)
Dim RangeConcerné As Range
Dim Cellule As Range
Set RangeConcerné = Intersect(Me.UsedRange, Me.Range(PLAGECONTRÔLE), Target))
If RangeConcerné Is Nothing Then Exit Sub
For Each Cellule In RangeConcerné.Cells
With Cellule
If VarType(.Value) = vbString Then
If Len(.Value) > NBCAR Then
.Characters(Start:=NBCAR + 1, Length:=Len(.Value) - NBCAR).Font.Color = .Interior.Color
End If
End If
End With
Next Cellule
End Sub