Partager via


Événements KeyDown, KeyUp

Se produisent successivement quand vous appuyez puis relâchez une touche. L’événement KeyDown se produit quand vous appuyez sur une touche. L’événement KeyUp se produit quand vous relâchez une touche.

Syntaxe

Private Subobject _KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
Private Subobject _KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)

La syntaxe des événements KeyDown et KeyUp comprend les éléments suivants :

Élément Description
object Obligatoire. Nom d’un objet valide.
KeyCode Obligatoire. Entier représentant le code de la touche enfoncée ou relâchée.
Shift Obligatoire. État des touches Maj, Ctrl et Alt.

Settings

Les paramètres de Shift sont les suivants :

Constante Valeur Description
fmShiftMask 1 La touche Maj a été enfoncée.
fmCtrlMask 2 La touche Ctrl a été enfoncée.
fmAltMask 4 La touche Alt a été enfoncée.

Remarques

L’événement KeyDown se produit quand vous appuyez sur une touche d’un formulaire en cours d’exécution et que ce formulaire ou l’un de ses contrôles est activé. Les événements KeyDown et KeyPress alternent de manière répétitive jusqu’à ce que vous relâchiez la touche et que, par conséquent, l’événement KeyUp se produise. Le formulaire ou le contrôle avec le focus reçoit toutes les frappes. Un formulaire ne peut être activé que s’il ne comporte aucun contrôle ou si tous ses contrôles visibles sont désactivés.

Ces événements se produisent également si vous envoyez une séquence de touches à un formulaire ou un contrôle à l’aide de l’action SendKeys dans une macro ou de l’instruction SendKeys dans Visual Basic.

Les événements KeyDown et KeyUp sont généralement utilisés pour reconnaître ou faire la distinction entre :

  • les touches de caractères étendus, telles que les touches de fonction ;

  • les touches de navigation, telles que Origine, Fin, Pg suiv, Pg préc, Haut, Bas, Droite, Gauche et Tab ;

  • Les combinaisons de touches et les modificateurs du clavier standard (Maj, Ctrl ou Alt) ;

  • le pavé numérique et les touches du clavier numérique.

Les événements KeyDown et KeyUp ne se produisent pas dans les circonstances suivantes :

  • L’utilisateur appuie sur Entrée sur un formulaire avec un bouton de commande dont la propriété Default est définie sur True.

  • L’utilisateur appuie sur Échap sur un formulaire avec un bouton de commande dont la propriété Cancel est définie sur True.

Les événements KeyDown et KeyPress quand vous appuyez sur une touche ANSI ou que vous envoyez une touche ANSI. L’événement KeyUp se produit après n’importe quel événement d’un contrôle causé par la sollicitation ou l’envoi de la touche. Si la frappe a pour effet de déplacer l’activation d’un contrôle à un autre, l’événement KeyDown se produit sur le premier contrôle, et les événements KeyPress et KeyUp se produisent sur le second contrôle.

La séquence des événements associés au clavier est la suivante :

  1. KeyDown
  2. KeyPress
  3. KeyUp

Remarque

Les événements KeyDown et KeyUp s’appliquent uniquement aux formulaires et aux contrôles d’un formulaire. Pour interpréter des caractères ANSI ou pour rechercher les caractères ANSI correspondant aux touches sollicitées, utilisez l’événement KeyPress.

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.