CONTRÔLE DE L'ENTRÉE DANS UN TEXTBOX - UNIQUEMENT UNE VALEUR NUMÉRIQUE
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 2008
-
16 mai 2007 à 17:12
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
21 mai 2007 à 09:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 mai 2007 à 09:44
un peu effrayant, ton
SendKeys "{right}{right}", True
au passage....
joues aves SelStart, plutot...
Eric000000
Messages postés4Date d'inscriptionjeudi 3 août 2006StatutMembreDernière intervention 1 août 2007 21 mai 2007 à 08:49
Bonjour,
Merci à tous pour vos commentaires.
Econs, c'est vrai que le code est complexe mais il gère l'entrée du ".", l'entrée de 2 virgules, l'entrée de ",xx" remplacé par "0,xx" et le nombre de décimale
Kalif et J_il, je n'avais pas pensé à cette solution qui est plus propre.
mehdi7604
Messages postés118Date d'inscriptionjeudi 11 mai 2006StatutMembreDernière intervention 6 mars 2015 18 mai 2007 à 01:45
Je trouve que c'est très lent comme code , j'ai déja codé qqe chose comme ça mais en qque lignes dans mon application de gestion de stock ( pour entrer la quantité ) .
mais je pense qu'il ya des masques de saisie ou des choses qui controle la saisie des données ,
le travail que tu as fait et celui qu'on fait dans les pages web ( javascript)
.
l'algorithme est bien !
cs_drissou
Messages postés160Date d'inscriptiondimanche 7 décembre 2003StatutMembreDernière intervention14 janvier 2009 17 mai 2007 à 16:11
bonjour,
il y a aussi une API sendmessage qui peut faire cela et qui gère aussi le passage (pour les alphanumériques) en majuscules..
DRissou
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 17 mai 2007 à 13:58
Salut,
on en a pas encore fini avec le control saisie numérique...
A croire que c' est un problème philosophique !
J_il
Messages postés109Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 9 septembre 2008 17 mai 2007 à 13:11
Je suis d'accord avec Kalif, mais je fais encore autrement pour éviter les autres entrées.
Ceci ne laisse entrer que des chiffres :
'Filtre pour les erreurs éventuelles d'encodage
If InStr("0123456789" & Chr(8), Chr(KeyAscii)) 0 Then KeyAscii 0
Cela se place dnas l'événement KeyPress de la boite de texte...
Et ça fonctionne très bien
A+ J-il
cs_kalif
Messages postés362Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention24 août 2012 17 mai 2007 à 12:01
personellement moi je fais comme ceci
'un bouton et un textbox
Private Const ALPHA As String = "0123456789" 'caractère autorisé
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then 'autorise la touche qui permet d'effacer
If InStr(1, ALPHA, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
MsgBox "Touche non autorisée"
End If
End If
End Sub
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 17 mai 2007 à 10:00
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 16 mai 2007 à 17:12
Salut,
Vraiment très complexe pour ce qu'il y a à faire. Une expression régulière aurait divisé le code par ... disons ... 10 (hors déclarations).
Pas eu l'occasion de tester, mais ...
Si mon séparateur décimal est le point ?
Si je tape deux virgules ?
21 mai 2007 à 09:44
SendKeys "{right}{right}", True
au passage....
joues aves SelStart, plutot...
21 mai 2007 à 08:49
Merci à tous pour vos commentaires.
Econs, c'est vrai que le code est complexe mais il gère l'entrée du ".", l'entrée de 2 virgules, l'entrée de ",xx" remplacé par "0,xx" et le nombre de décimale
Kalif et J_il, je n'avais pas pensé à cette solution qui est plus propre.
18 mai 2007 à 01:45
mais je pense qu'il ya des masques de saisie ou des choses qui controle la saisie des données ,
le travail que tu as fait et celui qu'on fait dans les pages web ( javascript)
.
l'algorithme est bien !
17 mai 2007 à 16:11
il y a aussi une API sendmessage qui peut faire cela et qui gère aussi le passage (pour les alphanumériques) en majuscules..
DRissou
17 mai 2007 à 13:58
on en a pas encore fini avec le control saisie numérique...
A croire que c' est un problème philosophique !
17 mai 2007 à 13:11
Ceci ne laisse entrer que des chiffres :
'Filtre pour les erreurs éventuelles d'encodage
If InStr("0123456789" & Chr(8), Chr(KeyAscii)) 0 Then KeyAscii 0
Cela se place dnas l'événement KeyPress de la boite de texte...
Et ça fonctionne très bien
A+ J-il
17 mai 2007 à 12:01
'un bouton et un textbox
Private Const ALPHA As String = "0123456789" 'caractère autorisé
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 Then 'autorise la touche qui permet d'effacer
If InStr(1, ALPHA, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
MsgBox "Touche non autorisée"
End If
End If
End Sub
17 mai 2007 à 10:00
ici :
http://www.vbfrance.com/codes/SAISIES-CONTROLEES-DIVERSES-ALPHABETIQUES-NUMERIQUES_42484.aspx
un source récente qui fait la même chose, et plus...
ta source sera prochainement désactivée
++
16 mai 2007 à 17:12
Vraiment très complexe pour ce qu'il y a à faire. Une expression régulière aurait divisé le code par ... disons ... 10 (hors déclarations).
Pas eu l'occasion de tester, mais ...
Si mon séparateur décimal est le point ?
Si je tape deux virgules ?