Autoriser uniquement les chiffres dans un text box - VB/VBA/VBS - Programmation
Marsh Posté le 05-07-2006 à 10:41:13
Ca affiche un message pour dire que c'est pas numerique et retire le caractère non numérique. 
 
Private Sub TextBox1_Change() 
    If Not IsNumeric(TextBox1) Then 
        MsgBox ("pas numeric" ) 
        TextBox1.Text = Mid(TextBox1.Text, 1, Len(TextBox1.Text) - 1) 
    End If 
End Sub
Marsh Posté le 06-07-2006 à 07:48:20
Bonjour, 
 
Voici une autre solution qui elle ne visualise pas dans la boite les caractères interdits 
 
Private Sub txt_haut_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) 
    KeyAscii = valide_num(KeyAscii) 
End Sub 
 
'-------------------------------------------------------------- 
'        validation de zone texte numérique 
'-------------------------------------------------------------- 
Private Function valide_num(x) 
    If KeyAscii = 178 And txt_haut.Enabled Then txt_haut.SetFocus 
    Select Case x 
        Case 48 To 57, 44 
            valide_num = x 
        Case 46 ' . en , 
            valide_num = 44 
        Case 178 
            If txt_haut.Enabled Then 
                txt_haut.SetFocus 
                sel_zone txt_haut 
            End If 
        Case Else 
            valide_num = 0 
        End Select 
End Function 
Marsh Posté le 05-07-2006 à 10:34:24
Bonjour,
Je souhaite tapez uniquement des nombres dans un text box quelle fonction dois je utiliser ?
J'aimerais inserer celle ci dans l'evenement text_change afin de pouvoir afficher directement un message box si l'utilisateur tape autre chose qu'un chiffre et l'effacer.
Merci de votre aide
Johnson