CONTRÔLE DE L'ENTRÉE DANS UN TEXTBOX - UNIQUEMENT UNE VALEUR NUMÉRIQUE

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 16 mai 2007 à 17:12
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 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.

https://codes-sources.commentcamarche.net/source/42712-controle-de-l-entree-dans-un-textbox-uniquement-une-valeur-numerique

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 mai 2007 à 09:44
un peu effrayant, ton

SendKeys "{right}{right}", True

au passage....
joues aves SelStart, plutot...
Eric000000 Messages postés 4 Date d'inscription jeudi 3 août 2006 Statut Membre Derniè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és 118 Date d'inscription jeudi 11 mai 2006 Statut Membre Derniè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és 160 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 14 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és 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
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és 109 Date d'inscription mardi 27 mars 2007 Statut Membre Derniè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és 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 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és 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
17 mai 2007 à 10:00
salut,
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
++
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
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 ?
Rejoignez-nous