Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, c As Range
Set r = Intersect(Target.EntireRow, [A:B], Me.UsedRange.EntireRow)
If r Is Nothing Then Exit Sub
For Each r In r.Rows 'en cas d'entrées multiples (copier-coller)
Set c = r.Cells(1)
If IsNumeric(CStr(c)) And IsNumeric(CStr(c(1, 2))) Then
Select Case Round(c - c(1, 2), 3)
Case Is < 0: c.NumberFormat = "[Red] - * 0.0%": If Not c.Font.Bold Then c.Font.Bold = True
Case Is = 0: c.NumberFormat = " = * 0.0%": If c.Font.Bold Then c.Font.Bold = False
Case Is > 0: c.NumberFormat = "[Blue] + * 0.0%": If c.Font.Bold Then c.Font.Bold = False
End Select
Else
If r.Row > 1 Then c.NumberFormat = "0.0%": c.Font.Bold = False 'RAZ
End If
Next
End Sub