Lancer une macro par un raccourcis clavier

Résolu
elnicnic Messages postés 3 Date d'inscription jeudi 8 juillet 2010 Statut Membre Dernière intervention 8 juillet 2010 - 8 juil. 2010 à 14:08
elnicnic Messages postés 3 Date d'inscription jeudi 8 juillet 2010 Statut Membre Dernière intervention 8 juillet 2010 - 8 juil. 2010 à 18:34
Bien le bonjour et merci par avance pour vos réponses.

J'ai créé un userform avec plusieurs boutons qui lancent différentes macros, et j'aimerai rajouter une macro cachées.

Pour l'instant, je la lance en cliquant sur un label transparent caché dans un coin du userform mais j'aimerai pouvoir l'activer par un raccourcis clavier.

j'ai bien entendu essayé avec les options de la macro mais j'ai l'impression que si une macro est déjà lancée par Excel (ici mon userform), les raccourcis clavier sont désactivés.

Quelqu'un aurait il une solution s'il vous plait

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
8 juil. 2010 à 16:15
Bonjour,
Mettre la propriété de l'UserForm ShowModal à False. Faire le raccourci macro. Mais il faut cliquer sur la feuille avant d'appeler la macro par le raccourci
@+
Le Pivert
3
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
8 juil. 2010 à 18:18
Vous pouvez mettre un bouton "Minimise"
A mettre dans le code de l'UserForm
Option Explicit
'Maximise et minimise
Private Declare Function GetWindowLongA Lib "user32" _
  (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "user32" _
  (ByVal hwnd As Long, ByVal nIndex As Long, _
  ByVal dwNewLong As Long) As Long
Private Declare Function FindWindowA Lib "user32" _
  (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub UserForm_Initialize()
'Maximise et minimise
    hwnd = FindWindowA(vbNullString, Me.Caption)
    'SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H10000 'maximise
    SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H20000 'minimise
End Sub


@+
Le Pivert
3
elnicnic Messages postés 3 Date d'inscription jeudi 8 juillet 2010 Statut Membre Dernière intervention 8 juillet 2010
8 juil. 2010 à 18:04
c'est pas super pratique car mon userform est en plein écran mais ça fonctionne.

merci pour le conseil

++
0
elnicnic Messages postés 3 Date d'inscription jeudi 8 juillet 2010 Statut Membre Dernière intervention 8 juillet 2010
8 juil. 2010 à 18:34
nickel. merci
0
Rejoignez-nous