OVH Cloud OVH Cloud

Intercepter les touches

2 réponses
Avatar
Olivier
Bonjour !!!

Dans un userform, j'ai une textbox.

J'aimerai traiter l'évenement suivant :

Si touche Entrée et valeur de la textbox = x, alors ....

De même, peut t'on intercepter les touches de fonction de F1 à F12, en les
détournant de leur fonction initiale ??????

Merci d'avance

Olivier

2 réponses

Avatar
gee-dee-
Bonjour,
voir dans l'aide à : OnKey

OnKey, méthode
Cette méthode exécute une procédure spécifiée lorsque l'utilisateur appuie
sur une touche ou une combinaison de touches.
expression.OnKey(Key, Procedure)

voir aussi à SendKeys

pour aller plus loin, il y a aussi les API windows keyb_event et GetKeyState
Avatar
Sandrine
Bonjour,
Pour votre première question, il faut que vous utilisiez la propriété
keypress du textbox. Chaque carractère rentre par cette fonction sous forme
de code ascii .
enter : keyAscii 

Voici un petit bout de code en VBA

Private Sub Texttbox_KeyPress(KeyAscii As Integer)
if keyAscii = 13 and Ucase(Textbox.text) = "XXXXXX" then 'Alors
.....
'La vous fait ce qu vous devez faire
....
Else 'Sinon
.....
....
end if

End Sub

LA fonction Ucase permet de mettre en Majuscule le texte contenu dans le
textBox
Ce qui perrmet de faire une comparaison de texte sans tenir compte de
majuscule/Minuscule

Pour votre deuxième question, je pense que cela est possible en utilisant la
propriété Keypress de la userform mais je n'ai jamais essayé.
Il faut trouver les codes Ascii des touches F1....F12. Et après vous utilisé
la même fonction. Je pense que cela doit fonctionner.Mais A Vérifier

J'espère avoir répondu correctement à votre question

Sandrine

"Olivier" wrote in message
news:O%
Bonjour !!!

Dans un userform, j'ai une textbox.

J'aimerai traiter l'évenement suivant :

Si touche Entrée et valeur de la textbox = x, alors ....

De même, peut t'on intercepter les touches de fonction de F1 à F12, en les
détournant de leur fonction initiale ??????

Merci d'avance

Olivier