Mask edit text box et keypress

[Résolu]
Signaler
Messages postés
42
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
31 décembre 2005
-
Messages postés
42
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
31 décembre 2005
-
Bonjour, un ptite question à propos des mask textbox... ##:##

j'aimerais pouvoir controler au moment ou l'utilisateur rentre une
heure, si cela est credible comme heure. Hors dans une mask textbox, un
utilisateur, peut commencer a ecrire dans n'importe quel champ
autorisé, je voudrais donc savoir comment recupérer "l'indice" du
caractère qu'il vient d'entrer, pour interdire un nombre sup a 2 en
1ere place, ou pour interdire un nb sup a 4 en 2eme place, s'il y a un
2 en 1ere...

Et je voudrai faire tout cela en 'keypress'.

Merci

4 réponses

Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
salut,



pour connaitre la position du curseur , utilises SelStart

Voici un ptit exemple que tu pourra amélioré en testant si le 1er caractère =2 alors le 2eme ne doit pas depasse 4 etc ....



chr(48)=0

chr(57)=9

chr(9)=BackSpace ==> retour arriere



Private Sub MaskEdBox1_KeyPress(KeyAscii As Integer)

If (KeyAscii >= 48 And KeyAscii < 57) Or KeyAscii <> 9 Then

If MaskEdBox1.SelStart 0 Then If KeyAscii - 48 > 2 Then KeyAscii 0

If MaskEdBox1.SelStart 3 Then If KeyAscii - 48 > 5 Then KeyAscii 0

Else

KeyAscii = 0

End If

End Sub



si tu n'y arrives pas repostes un autre message ;)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 70 internautes nous ont dit merci ce mois-ci

Messages postés
28
Date d'inscription
mardi 20 janvier 2004
Statut
Membre
Dernière intervention
17 février 2006

Utilise l'événement KeyPress ou TxtAE est le nom de ton mask edit

Private Sub txtAE_KeyPress(KeyAscii As Integer)


End Sub
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
2
NB :

les lignes suivantes sont des explications à ne pas mettre dans le code :

chr(48)=0

chr(57)=9

chr(9)=BackSpace ==> retour arriere
Messages postés
42
Date d'inscription
vendredi 27 mai 2005
Statut
Membre
Dernière intervention
31 décembre 2005

Merci bcp, c'est parfait maintenant, je ne connaissais pas selstart.

THX ++