Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, tablo, i&
Set r = Intersect(Target, Range("A2:A" & Rows.Count), UsedRange)
If r Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each r In r.Areas 'si entrées/effacements multiples (copier-coller)
If r.Count = 1 Then
If r <> "" Then r.Value = Val(Replace(r, ",", "."))
Else
tablo = r.Value2 'matrice, plus rapide
For i = 1 To UBound(tablo)
If tablo(i, 1) <> "" Then tablo(i, 1) = Val(Replace(tablo(i, 1), ",", "."))
Next i
r = tablo
End If
Next r
Application.EnableEvents = True 'réactive les évènements
End Sub