Sub Effacer_non_gras()
Dim t#, c As Range, x$, i%, n&
t = Timer
Application.ScreenUpdating = False
For Each c In ActiveSheet.UsedRange
If c <> "" Then
x = c
For i = Len(x) To 1 Step -1
If Not c.Characters(i, 1).Font.Bold Then n = n + 1: x = Left(x, i - 1) & Mid(x, i + 1)
Next i
If IsNumeric(x) Then c = CDbl(x) Else c = x 'convertit en nombre
End If
Next c
ActiveSheet.UsedRange.Font.Bold = True
Application.ScreenUpdating = True
MsgBox Format(Timer - t, "0.00 \sec") & vbLf & vbLf & IIf(n, Format(n, "#,##0") & " caractères ont été effacés", "Aucun caractère n'a été effacé"), , "Durée d'exécution"
End Sub