Textbox numérique (le + simple) version amélioré avec backspace qui fonctionne

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 049 fois - Téléchargée 49 fois

Contenu du snippet

Bein c'est pas tres compliquer on ne peut ecrire que des chiffres dans un textbox. En plus il prend en charge le backspace (effacer).

Source / Exemple :


Private Sub text1_keyPress(KeyAscii As Integer)
If Chr(KeyAscii) = "." Then KeyAscii = Asc(",") ' detecte le point et la virgule et remplace
'le point par une virgule
If KeyAscii = 8 Then 'Regarde si appuyer sur BACKSPACE
KeyAscii = 8 ' Si oui ... On efface
Else
If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then 'contrôle de saisie
KeyAscii = 0 'caractère incorect, donc il ne s'ecrit pas
End If
End If
End Sub

Conclusion :


Enfin corrigé ... j'espere que vous allez l'aimer

A voir également

Ajouter un commentaire

Commentaires

imparator_42
Messages postés
20
Date d'inscription
mardi 14 mars 2006
Statut
Membre
Dernière intervention
17 octobre 2012
-
Et pour effacer ?
berreqia
Messages postés
3
Date d'inscription
vendredi 22 décembre 2006
Statut
Membre
Dernière intervention
19 février 2008
-
Une correction du code de ROSEWLL mais si c'est un peu trop tard lol :)

Private Sub Text7_KeyPress(KeyAscii As Integer)
If (InStr("0123456789-", Chr(KeyAscii)) 0) And (KeyAscii <> 8) Then KeyAscii 0
End Sub
Le Prince Dragon
Messages postés
26
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
26 janvier 2007
-
Super code,
il m'a boucoups servit
cs_Talere
Messages postés
102
Date d'inscription
vendredi 29 mars 2002
Statut
Membre
Dernière intervention
14 février 2013
-
Je peux te suggérer cette solution qui, en plus permet de gérer le séparateur décimale :

Private Sub Limite_CMJ_BDL_KeyPress(KeyAscii As Integer)
separateur = Mid$(Format$(0, "0.0"), 2, 1)
If Chr(KeyAscii) "." And separateur <> "." Then KeyAscii Asc(separateur)
If Chr(KeyAscii) "," And separateur <> "," Then KeyAscii Asc(separateur)
'le point par une virgule
If KeyAscii = 8 Then 'Regarde si appuyer sur BACKSPACE
KeyAscii = 8 ' Si oui ... On efface
Else
If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then 'contrôle de saisie
KeyAscii = 0 'caractère incorect, donc il ne s'ecrit pas
End If
End If
End Sub
skyzofrenzz
Messages postés
35
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
15 septembre 2004
-
roswell117 tu est noob

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.