Comment affecter les touches du pavé numérique par "Onkey"

P

Pégase

Guest
Bonsoir à tous,
Pour lancer des macros dans un classeur excel, j'utilise la fonction Onkey, pas de problème, sauf que je ne sais pas affecter les touches du pavé numérique (sauf {Enter})
Je voudrais par exemple affecter la touche Alt et la touche + du pavé numérique.
Idem avec * du pavé numérique.
J'ai cherché sur le forum et je n'ai rien trouvé.

D'avance merci
 
@

@+Thierry

Guest
Bonjour Pégasse, le Forum

Je pense pas que cette question ait été posée jusqu'à aujourd'hui... Voici ce que je propose :

Sub TestOnKeyNumPad()
With Application
.OnKey "%{96}", "TheMsg0"
.OnKey "%{97}", "TheMsg1"
.OnKey "%{98}", "TheMsg2"
.OnKey "%{99}", "TheMsg3"
.OnKey "%{100}", "TheMsg4"
.OnKey "%{101}", "TheMsg5"
.OnKey "%{102}", "TheMsg6"
.OnKey "%{103}", "TheMsg7"
.OnKey "%{104}", "TheMsg8"
.OnKey "%{105}", "TheMsg9"
.OnKey "%{106}", "TheMsg10"
.OnKey "%{107}", "TheMsg11"
.OnKey "%{108}", "TheMsg12"
.OnKey "%{109}", "TheMsg13"
.OnKey "%{110}", "TheMsg14"
.OnKey "%{111}", "TheMsg15"
.OnKey "%{ENTER}", "TheMsg16"
.OnKey "%{NUMLOCK}", "TheMsg17"
End With
End Sub

Sub TheMsg0()
MsgBox "Touche Zéro du Pavé Numérique"
End Sub
Sub TheMsg1()
MsgBox "Touche Un du Pavé Numérique"
End Sub
Sub TheMsg2()
MsgBox "Touche Deux du Pavé Numérique"
End Sub
Sub TheMsg3()
MsgBox "Touche Trois du Pavé Numérique"
End Sub
Sub TheMsg4()
MsgBox "Touche Quatre du Pavé Numérique"
End Sub
Sub TheMsg5()
MsgBox "Touche Cinq du Pavé Numérique"
End Sub
Sub TheMsg6()
MsgBox "Touche Six du Pavé Numérique"
End Sub
Sub TheMsg7()
MsgBox "Touche Sept du Pavé Numérique"
End Sub
Sub TheMsg8()
MsgBox "Touche Huit du Pavé Numérique"
End Sub
Sub TheMsg9()
MsgBox "Touche Neuf du Pavé Numérique"
End Sub
Sub TheMsg10()
MsgBox "Touche * du Pavé Numérique"
End Sub
Sub TheMsg11()
MsgBox "Touche + du Pavé Numérique"
End Sub
Sub TheMsg12()
MsgBox "Touche ?? du Pavé Numérique, je ne sais pas laquelle c'est LOL !!"
End Sub
Sub TheMsg13()
MsgBox "Touche - du Pavé Numérique"
End Sub
Sub TheMsg14()
MsgBox "Touche . du Pavé Numérique"
End Sub
Sub TheMsg15()
MsgBox "Touche / du Pavé Numérique"
End Sub
Sub TheMsg16()
MsgBox "Touche ENTREE du Pavé Numérique"
End Sub
Sub TheMsg17()
MsgBox "Touche VERROU PAVE NUM du Pavé Numérique"
End Sub


On notera que je n' ai pas trouvé à quoi 108 corresponds... (lol !) et sinon pour sortir proprement en remettant tout en place :

Sub ResetOnKeyNumPad()
Dim i As Byte
With Application
For i = 96 To 111
.OnKey "%{" & i & "}"
Next i
.OnKey "%{ENTER}"
.OnKey "%{NUMLOCK}"
End With
End Sub

Bonne Journée
@+Thierry
 

Discussions similaires

Réponses
26
Affichages
417

Statistiques des forums

Discussions
312 329
Messages
2 087 328
Membres
103 517
dernier inscrit
hbenaoun63