Private Sub Worksheet_Change(ByVal Target As Range)
Dim v1$, L1%, v2$, L2%, v3$, L3%, x$, i%, L%
v1 = [C7].Text: L1 = Len(v1)
v2 = [C11].Text: L2 = Len(v2)
v3 = [C9].Value: L3 = Len(v3)
x = "Article en promotion à " & v1 & ", soit " & v2 & " en " & v3 & " mensualité" & IIf(v3 > 1, "s", "")
With Shapes("Rectangle 1").TextFrame
.Characters.Text = x
For i = 1 To Len(x)
L = 0
If Mid(x, i, L3) = v3 Then L = L3
If Mid(x, i, L1) = v1 Then L = L1
If Mid(x, i, L2) = v2 Then L = L2
If L Then
With .Characters(i, L).Font
.Color = vbRed
.Bold = True
End With
End If
Next i
End With
End Sub