TEXTBOX NUMÉRIQUE (LE + SIMPLE) VERSION AMÉLIORÉ AVEC BACKSPACE QUI FONCTIONNE

Signaler
Messages postés
415
Date d'inscription
mardi 3 avril 2001
Statut
Membre
Dernière intervention
26 avril 2008
-
Messages postés
20
Date d'inscription
mardi 14 mars 2006
Statut
Membre
Dernière intervention
17 octobre 2012
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2555-textbox-numerique-le-simple-version-ameliore-avec-backspace-qui-fonctionne

Messages postés
20
Date d'inscription
mardi 14 mars 2006
Statut
Membre
Dernière intervention
17 octobre 2012

Et pour effacer ?
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
Messages postés
24
Date d'inscription
mercredi 12 avril 2006
Statut
Membre
Dernière intervention
26 janvier 2007

Super code,
il m'a boucoups servit
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
Afficher les 21 commentaires