Option Explicit
Dim valeur1 As String
Dim virgule As Byte
Private Sub TextBox1_Change()
Dim val1 As String
val1 = Right(TextBox1.Value, 1)
If virgule = 3 Then
TextBox1.Value = valeur1
End If
If virgule = 2 Then
Select Case val1
Case "5", "0"
virgule = 3
Case Else
TextBox1.Value = valeur1
Exit Sub
End Select
valeur1 = TextBox1.Value
End If
If virgule = 1 Then
Select Case val1
Case "2", "5", "7", "0"
virgule = 2
Case Else
TextBox1.Value = valeur1
Exit Sub
End Select
valeur1 = TextBox1.Value
End If
If virgule = 0 Then
Select Case val1
Case "."
virgule = 1
Case ","
virgule = 1
Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
Case Else
TextBox1.Value = valeur1
Exit Sub
End Select
valeur1 = TextBox1.Value
End If
End Sub