Bonjour,
Peut-être une autre solution :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Range("A:A"), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If IsNumeric(Target.Value) Then
If Target.NumberFormat Like "*%" Then Target.Value = Target.Value * 100
Target.NumberFormat = "@"
Target.Value = Application.WorksheetFunction.RoundUp(Target.Value / 10000 * 100, 0) & "%"
End If
Application.EnableEvents = True
End Sub