Salut Benoit, oyobrans,
voici une solution qui, en l'état, réclame absolument, pour être efficace, une séparation stricte " - ".
Tu cliques sur une cellule ou un ensemble de cellules...
Dim rCel As Range
'
Application.ScreenUpdating = False
'
For Each rCel In Target.Cells
tTab = Split(rCel, " - ")
iStart = 1
rCel.Font.ColorIndex = 1
For x = 0 To UBound(tTab)
iFlag = Len(tTab(x))
If IsNumeric(tTab(x)) Then
rCel.Characters(iStart, iFlag).Font.ColorIndex = Int(tTab(x) / 10) + 2
Else
rCel.Characters(iStart, iFlag).Font.ColorIndex = 1
End If
iStart = iFlag + 4
Next
Next
'
Application.ScreenUpdating = True
A+