Option Explicit
Const entrees_decimales_permises = ".,0123456789" & vbCr & vbBack
Const entrees_entieres_permises = "0123456789" & vbCr & vbBack
Const entrees_alpha_permises = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" & vbCr & vbBack
Const Point = "."
Const Virgule = ","
Private Sub BtnOk_Click()
Unload Me
End Sub
Private Sub BtnAnnuler_Click()
Unload Me
End Sub
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = Asc(Point) Then
If InStr(TextBox1, Virgule) = 0 Then
KeyAscii = Asc(Virgule)
Else
KeyAscii = 0
End If
ElseIf InStr(entrees_decimales_permises, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
ElseIf InStr(TextBox1, Virgule) > 0 And KeyAscii = Asc(Virgule) Then
KeyAscii = 0
End If
If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr(entrees_entieres_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr(entrees_alpha_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case TextBox4.SelStart
Case 0 To 6
If InStr(entrees_entieres_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
Case 7
If InStr(entrees_alpha_permises, Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Select
If KeyAscii = 13 Then SendKeys "{TAB}": KeyAscii = 0
End Sub
|