Lancer une macro par un raccourcis clavier [Résolu]

Messages postés
3
Date d'inscription
jeudi 8 juillet 2010
Dernière intervention
8 juillet 2010
- 8 juil. 2010 à 14:08 - Dernière réponse :
Messages postés
3
Date d'inscription
jeudi 8 juillet 2010
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
5531
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 8 juil. 2010 à 16:15
3
Merci
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

Merci cs_Le Pivert 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Meilleure réponse
Messages postés
5531
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 novembre 2018
- 8 juil. 2010 à 18:18
3
Merci
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

Merci cs_Le Pivert 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
Messages postés
3
Date d'inscription
jeudi 8 juillet 2010
Dernière intervention
8 juillet 2010
- 8 juil. 2010 à 18:04
0
Merci
c'est pas super pratique car mon userform est en plein écran mais ça fonctionne.

merci pour le conseil

++
Commenter la réponse de elnicnic
Messages postés
3
Date d'inscription
jeudi 8 juillet 2010
Dernière intervention
8 juillet 2010
- 8 juil. 2010 à 18:34
0
Merci
nickel. merci
Commenter la réponse de elnicnic

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.