Vous pouvez aussi autoriser le point, à transformer en virgule, comme ça :
VB:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = Asc(Mid$(Chr$(0) & "0123456789,,", InStr("0123456789,.", Chr$(KeyAscii)) + 1, 1))
If KeyAscii = 0 Then Beep
End Sub