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.
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; |
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 |
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 |
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 |
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 (/) |
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 |