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
7784
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juin 2022
129
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
7784
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 juin 2022
129
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