Si vous interceptez des évènements KeyPress ou KeyDown-KeyUp, il vous faut connaître les codes correspondant aux différentes touches:

Evènement KeyPress

Sur l'évènement KeyPress, un argument KeyAscii est passé. Il contient un entier indiquant le code Ascii de la touche frappée. Attention: Lorsque l'évènement survient, le caractère saisi n'est pas encore arrivé dans le contrôle (une textbox par exemple). Pour annuler la frappe, il suffit d'attribuer la valeur 0 à cet argument KeyAscii.

Jeu de caractères    

Code Touche Code Touche Code Touche Code Touche
  0 &127; 32 [space] 64 @ 96 `
1 &127; 33 ! 65 A 97 a
2 &127; 34 " 66 B 98 b
3 &127; 35 # 67 C 99 c
4 &127; 36 $ 68 D 100 d
5 &127; 37 % 69 E 101 e
6 &127; 38 & 70 F 102 f
7 &127; 39 ' 71 G 103 g
8 Backspace 40 ( 72 H 104 h
9 Tabulation 41 ) 73 I 105 i
10 Saut de ligne 42 * 74 J 106 j
11 &127; 43 + 75 K 107 k
12 &127; 44 , 76 L 108 l
13 Enter 45 - 77 M 109 m
14 &127; 46 . 78 N 110 n
15 &127; 47 / 79 O 111 o
16 &127; 48 0 80 P 112 p
17 &127; 49 1 81 Q 113 q
18 &127; 50 2 82 R 114 r
19 &127; 51 3 83 S 115 s
20 &127; 52 4 84 T 116 t
21 &127; 53 5 85 U 117 u
22 &127; 54 6 86 V 118 v
23 &127; 55 7 87 W 119 w
24 &127; 56 8 88 X 120 x
25 &127; 57 9 89 Y 121 y
26 &127; 58 : 90 Z 122 z
27 &127; 59 ; 91 [ 123 {
28 &127; 60 < 92 \ 124 |
29 &127; 61 = 93 ] 125 }
30 &127; 62 > 94 ^ 126 ~
31 &127; 63 ? 95 _ 127 &127;

Evènement KeyDown et KeyUp:

Ces deux évènements renvoient des arguments KeyCode contenant un code de la touche clavier (toutes pas seulement les caractères de la table Ascii) et un code de masque avec l'argument Shift (code de la touche optionnelle Ctrl-Shift-Alt).

Attention: Sur KeyDown, l'évènement se déclenche avant l'arrivée du caractère dans le contrôle. Sur KeyUp, l'évènement se déclenche après.

Codes de touches:

Constante Valeur Description
vbKeyLButton &H1 Bouton gauche de la souris
vbKeyRButton &H2 Bouton droit de la souris
vbKeyCancel &H3 Touche ANNUL
vbKeyMButton &H4 Bouton central de la souris
vbKeyBack &H8 Touche RET.ARR
vbKeyTab &H9 Touche TAB
vbKeyClear &HC Touche EFFACER
vbKeyReturn &HD Touche ENTRÉE
vbKeyShift &H10 Touche MAJ
vbKeyControl &H11 Touche CTRL
vbKeyMenu &H12 Touche MENU
vbKeyPause &H13 Touche PAUSE
vbKeyCapital &H14 Touche VERR.MAJ
vbKeyEscape &H1B Touche ÉCHAP.
vbKeySpace &H20 Touche ESPACE
vbKeyPageUp &H21 Touche PG PRÉC.
vbKeyPageDown &H22 Touche PG SUIV.
vbKeyEnd &H23 Touche FIN
vbKeyHome &H24 Touche ORIGINE
vbKeyLeft &H25 Touche FLÈCHE VERS LA GAUCHE
vbKeyUp &H26 Touche FLÈCHE VERS LE HAUT
vbKeyRight &H27 Touche FLÈCHE VERS LA DROITE
vbKeyDown &H28 Touche FLÈCHE VERS LE BAS
vbKeySelect &H29 Touche SELECT
vbKeyPrint &H2A Touche IMPR.ÉCRAN
vbKeyExecute &H2B Touche EXÉCUTE
vbKeySnapshot &H2C Touche INSTANTANÉ
vbKeyInsert &H2D Touche INSER
vbKeyDelete &H2E Touche SUPPR.
vbKeyHelp &H2F Touche AIDE
vbKeyNumlock &H90 Touche VERR.NUM

'A' à 'Z'
Constante Valeur Description
vbKeyA 65 Touche A
vbKeyB 66 Touche B
vbKeyC 67 Touche C
vbKeyD 68 Touche D
vbKeyE 69 Touche E
vbKeyF 70 Touche F
vbKeyG 71 Touche G
vbKeyH 72 Touche H
vbKeyI 73 Touche I
vbKeyJ 74 Touche J
vbKeyK 75 Touche K
vbKeyL 76 Touche L
vbKeyM 77 Touche M
vbKeyN 78 Touche N
vbKeyO 79 Touche O
vbKeyP 80 Touche P
vbKeyQ 81 Touche Q
vbKeyR 82 Touche R
vbKeyS 83 Touche S
vbKeyT 84 Touche T
vbKeyU 85 Touche U
vbKeyV 86 Touche V
vbKeyW 87 Touche W
vbKeyX 88 Touche X
vbKeyY 89 Touche Y
vbKeyZ 90 Touche Z

'0' à '9'
Constante Valeur Description
vbKey0 48 Touche 0
vbKey1 49 Touche 1
vbKey2 50 Touche 2
vbKey3 51 Touche 3
vbKey4 52 Touche 4
vbKey5 53 Touche 5
vbKey6 54 Touche 6
vbKey7 55 Touche 7
vbKey8 56 Touche 8
vbKey9 57 Touche 9

Touches du pavé numérique

Constante Valeur Description
vbKeyNumpad0 &H60 Touche 0
vbKeyNumpad1 &H61 Touche 1
vbKeyNumpad2 &H62 Touche 2
vbKeyNumpad3 &H63 Touche 3
vbKeyNumpad4 &H64 Touche 4
vbKeyNumpad5 &H65 Touche 5
vbKeyNumpad6 &H66 Touche 6
vbKeyNumpad7 &H67 Touche 7
vbKeyNumpad8 &H68 Touche 8
vbKeyNumpad9 &H69 Touche 9
vbKeyMultiply &H6A Touche SIGNE MULTIPLICATION (*)
vbKeyAdd &H6B Touche SIGNE PLUS (+)
vbKeySeparator &H6C Touche ENTRÉE (pavé numérique)
vbKeySubtract &H6D Touche SIGNE MOINS (-)
vbKeyDecimal &H6E Touche POINT DÉCIMAL (.)
vbKeyDivide &H6F Touche SIGNE DIVISION (/)

Touches de fonction

Constante Valeur Description
vbKeyF1 &H70 Touche F1
vbKeyF2 &H71 Touche F2
vbKeyF3 &H72 Touche F3
vbKeyF4 &H73 Touche F4
vbKeyF5 &H74 Touche F5
vbKeyF6 &H75 Touche F6
vbKeyF7 &H76 Touche F7
vbKeyF8 &H77 Touche F8
vbKeyF9 &H78 Touche F9
vbKeyF10 &H79 Touche F10
vbKeyF11 &H7A Touche F11
vbKeyF12 &H7B Touche F12
vbKeyF13 &H7C Touche F13
vbKeyF14 &H7D Touche F14
vbKeyF15 &H7E Touche F15
vbKeyF16 &H7F Touche F16

Codes de masque

Constante Valeur Description
vbShiftMask 1 Masque binaire MAJ
VbCtrlMask 2 Masque binaire CTRL
VbAltMask 4 Masque binaire ALT