Valider une textbox sans bouton ? C possible ???

SLUM - 13 juil. 2001 à 01:13
Myrddin772Li199 Messages postés 28 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 mars 2010 - 14 avril 2008 à 16:15
Je voudrais valider ma textbox en appuyant sur ENTRER dans la textbox, sans bouton... Est-ce possible ?

Merci de vos réponses !!!

6 réponses

biensur ! Tu ajoute simplement le code que tu veux dans keydown avec comme code :

if keycode = vbkeyreturn then
'ton code
end if

Kane
0
Merci beaucoup mais...
Mais c koi keydown ???
Merci encore
0
Quand tu double cliques sur ton text box, il te génère l'évènement par défaut Textbox1_Change
Dans le combo où c'est écrit change, sélectionne KeyDown.

Je pense que KeyPress ferait mieux l'affaire dans ce cas-ci.
KeyPress est généré moins souvent que KeyDown, ce qui peut influencer sur la vitesse d'exécution du programme
ex.:
(code tapé par moi, pas généré par vb, peut avoir des erreurs)
Private Sub Textbox1_KeyPress(KeyAscii as Integer)
If KeyAscii = 13 Then
'la validation

'Fait changer de focus en appuyant sur Enter
SendKeys "{Tab}"
' je suis pas certain si sendkeys est bien écrit.
KeyAscii = 0 'Empèche de faire "bip"
End If
End Sub

Tu peux aussi laissé le code ci-haut telquel et placer la validation dans l'évènement LostFocus OU Validate.
Validate est mieux, il va empècher le LostFocus si on retourne Cancel = True

Bon code :)
Magoo
0
limaseb Messages postés 38 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 18 décembre 2007
2 févr. 2005 à 22:10
Bjrs a tous j ai essayer vos code mais sans succes en plus je voudrais du faite de valider par ENTER de passer sur une autrre textbox. Car voudrais passer de textbox a textbox par bien de la touche ENTER merci d avance si on pouvais m aider. [mailto:limaseb@tiscali.fr limaseb@tiscali.fr]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Myrddin772Li199 Messages postés 28 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 mars 2010
9 avril 2008 à 15:22
Bonjour à tous !


J'ai un problème similaire :
J'utilise une TextBox multiligne dont je voudrais valider le contenu en appuyant sur [Ctrl]+[Return] ou en appyant sur un bouton...
J'essaie d'utiliser l'événement KeyDown
Private sub txtBox_KeyDown(KeyCode as Integer, Shift as Integer)
   if KeyCode=vbKeyReturn and Shift=2 then
      cmdValidate.Value = True
   end if
end sub
Jusque là tout va bien, le problème survient ensuite... ma Textbox est bien validée mais le text (qui est censé être effacé) devient alors un saut de ligne, bref il contient le saut de ligne qui aurait existé sans cette validation.
Comment faire pour "annuler" ce saut de ligne ?
0
Myrddin772Li199 Messages postés 28 Date d'inscription mercredi 28 décembre 2005 Statut Membre Dernière intervention 14 mars 2010
14 avril 2008 à 16:15
Bon, j'ai finalemùent opté pour l'événement KeyPress avec ceci :
Private sub txtBox_KeyPress(KeyAscii as Integer)
   if KeyAscii=10 then
      KeyAscii=0
      cmdValidate.Value = True
   end if
end sub
Par contre je ne comprends pas pourquoi le KeyAscii vaut 10 quand j'appuie simultanément sur [Return] et sur [Ctrl]...
0
Rejoignez-nous