Valider une textbox sans bouton ? C possible ???

Signaler
-
Messages postés
28
Date d'inscription
mercredi 28 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2010
-
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
Merci beaucoup mais...
Mais c koi keydown ???
Merci encore
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
Messages postés
38
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
18 décembre 2007

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]
Messages postés
28
Date d'inscription
mercredi 28 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2010

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 ?
Messages postés
28
Date d'inscription
mercredi 28 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2010

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]...