XL 2016 Commander un bouton par raccourci clavier

fenec

XLDnaute Impliqué
Bonsoir le forum,
J'utilise un code pour fermer un userform via un raccourci clavier, en l'occurrence "CTRL+ ENTREE".
le code est le suivant:
VB:
Private Sub CommandButton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
counter = counter + 1
codekey = codekey + KeyCode
If codekey = 30 Then Unload Me Else If counter = 2 Then counter = 0: codekey = 0
End Sub
Ma question est la suivante:
Comment utiliser ce code mais avec un autre raccourci?
Style "CTRL + F1" ou "CTRL+ Echap"
Cordialement,
Philippe.
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Vous pouvez affecter une lettre à la propriété Accelerator du CommandButton.
Vous pouvez aussi mettre sa propriété Default à True pour qu'il soit actionné par la touche Entrée,
et sa propriété Cancel à True pour qu'il soit acctionné par la touche Echap. Aucune programmation n'est requise pour la prise en charge de ces dispositions.
 

Dranreb

XLDnaute Barbatruc
Voulez-vous dire que vous avez positionné à True des Default, Cancel et Accelerator dans la fenêtre de propriété, puis tenté l'exécution d'un Show et que les CommandButton concernés ne sont pas actionnés par touches Entrée, Echap ou Ctrl+La lettre de Accelerator ?
 

Phil69970

XLDnaute Barbatruc
Bonjour @fenec , @Dranreb

En image

1619803444059.png


Et en code si tu fais F1 sur la zone en rouge
*Code fournit par l'aide microsoft

VB:
Click, événement, CommandButton, contrôle, Accelerator, Caption, propriétés, exemple

Cet exemple modifie les propriétés Accelerator et Caption d'un contrôle CommandButton chaque fois que l'utilisateur clique sur le bouton ou appuie sur la touche d'accès rapide correspondante. L'événement Click contient le code permettant de modifier les propriétés Accelerator et Caption.

Pour tester cet exemple, collez le code suivant dans la partie Déclarations d'une feuille contenant un contrôle CommandButton nommé CommandButton1.

Private Sub UserForm_Initialize()
    CommandButton1.Accelerator  = "C"   
    'Set Accelerator key to COMMAND + C
End Sub

Private Sub CommandButton1_Click ()
    If CommandButton1.Caption = "OK" Then
        'Check caption, then change it.
        CommandButton1.Caption = "Clicked"
        CommandButton1.Accelerator  = "C"   
        'Set Accelerator key to COMMAND + C
    Else
        CommandButton1.Caption = "OK"
        CommandButton1.Accelerator  = "O"   
        'Set Accelerator key to COMMAND + O
    End If
End Sub

@Phil69970
 

Discussions similaires

Statistiques des forums

Discussions
311 726
Messages
2 081 955
Membres
101 852
dernier inscrit
dthi16088