Microsoft 365 Utilisation de touche de fonction dans un userform

jlb63

XLDnaute Nouveau
Bonne journée à tous,

Nouvellement inscrit sur ce forum, je n'ai pas trouvé de solution à mon problème d'utilisation des touches de fonction dans un userform.
Quand on saisie des données, la souris peut entraver la vitesse d'exécution.
En fin de saisie des textbox, je souhaite appuyer sur la touche F2 plutôt que de prendre la souris pour chercher et cliquer sur le bouton Valider (qui est nommé cbValider).
Le clic sur le bouton fonctionne bien, mais pas la touche de fonction associée.
Où est mon erreur ?
Je vous remercie par avance de votre aide.


Option Explicit

Private Sub UserForm_Initialize()
Application.OnKey "{F2}", "cbValider_click()"
Application.OnKey "{F10}", "cbSortir_click"
End Sub

Sub cbvalider_click()
MsgBox "Vous avez demandé la validation de votre saisie"
End Sub

Sub cbSortir_click()
MsgBox "Souhaitez-vous sortir ?"
End Sub

Private Sub UserForm_Desativate()
Application.OnKey "{F2}", ""
Application.OnKey "{F10}", ""
End Sub

Ce lien n'existe plus
Ce lien n'existe plus
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Je pense que les touches définies par Application.OnKey ne sont appliquées que lors de leur utilisation dans une fenêtre Excel.
Pour des CommandButton d'UserForm vous avez les propriétés Default pour Entrée, Cancel pour Echap et Accelerator pour définir une touche à utiliser avec Alt.
 

Dranreb

XLDnaute Barbatruc
Je n'ai pas dit que c'était impossible, mais je maintiens que ça ne se fait sans doute pas avec des Application.Onkey. Mais j'avais oublié de citer aussi des évènement KeyPress, KeyDown et KeyUp pour beaucoup de contrôles et l'UserForm lui même.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 945
Membres
101 849
dernier inscrit
florentMIG