Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment retrouver les racourcis clavier attribués aux macros

7 réponses
Avatar
Emile63
Bonjour =E0 tous,
A force d'attribuer des raccourcis clavier a mes macros, j'ai fini par m'em=
m=EAler les pinceaux.
D'autant plus que j'en ai dans plusieurs feuilles et classeurs...

Est-ce qu'il y =E0 une solution pour pouvoir les retrouver, ou en faire la =
liste sur Excel 2010 (VBA)?
Merci d'avance pour votre aide.
Cordialement,

7 réponses

Avatar
MichD
Bonjour,

Voici une macro publiée il y a longtemps par Laurent Longre.

Dans la fenêtre de l'éditeur de code, barre des menus / outils / références, tu dois
cocher cette référence : "Microsoft Forms 2.0 Object Library"

Ouvre un classeur à la fois, copie la macro et exécute là une fois! Tu devrais retrouver
les raccourcis clavier que tu as attribués aux macros du classeur.

'----------------------------------------------------------------------
Sub ListeMacros()
' LL
Dim Macro As String, Racc As String
Dim Rpt As String, I As Integer

Application.ScreenUpdating = False
Workbooks.Add.Worksheets(1).[A1:B1] = [{"Procédure","Raccourci"}]

SendKeys "%{F8}%a{PGUP}{TAB}{ESC}"

'nécessite une référence à la bibliothèque

With New DataObject
Do
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
SendKeys Rpt & "%n^c{ESC}", True
.GetFromClipboard
If Macro = .GetText(1) Then Exit Do
Macro = .GetText(1)
SendKeys Rpt & "%t^c{ESC}{ESC}", True
.GetFromClipboard
Racc = .GetText(1)
I = I + 1
Cells(I + 1, 1) = Macro
If Racc <> Macro Then Cells(I + 1, 2) = "Ctrl-" & Racc
Loop
End With
With Columns("A:B")
.AutoFit
.Sort [A1], Header:=xlYes
.CurrentRegion.AutoFormat xlRangeAutoFormatColor2
End With
End Sub
'----------------------------------------------------------------------


MichD
--------------------------------------------------------------
Avatar
Emile63
El jueves, 15 de noviembre de 2012 21:47:44 UTC+1, MichD escribió:
Bonjour,



Voici une macro publi�e il y a longtemps par Laurent Longre.



Dans la fen�tre de l'�diteur de code, barre des menus / o utils / r�f�rences, tu dois

cocher cette r�f�rence : "Microsoft Forms 2.0 Object Libr ary"



Ouvre un classeur � la fois, copie la macro et ex�cute l � une fois! Tu devrais retrouver

les raccourcis clavier que tu as attribu�s aux macros du classeur .



'----------------------------------------------------------------------

Sub ListeMacros()

' LL

Dim Macro As String, Racc As String

Dim Rpt As String, I As Integer



Application.ScreenUpdating = False

Workbooks.Add.Worksheets(1).[A1:B1] = [{"Proc�dure","Raccou rci"}]



SendKeys "%{F8}%a{PGUP}{TAB}{ESC}"



'n�cessite une r�f�rence � la bibliot h�que



With New DataObject

Do

Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)

SendKeys Rpt & "%n^c{ESC}", True

.GetFromClipboard

If Macro = .GetText(1) Then Exit Do

Macro = .GetText(1)

SendKeys Rpt & "%t^c{ESC}{ESC}", True

.GetFromClipboard

Racc = .GetText(1)

I = I + 1

Cells(I + 1, 1) = Macro

If Racc <> Macro Then Cells(I + 1, 2) = "Ctrl-" & Racc

Loop

End With

With Columns("A:B")

.AutoFit

.Sort [A1], Header:=xlYes

.CurrentRegion.AutoFormat xlRangeAutoFormatColor2

End With

End Sub

'----------------------------------------------------------------------


MichD

--------------------------------------------------------------


Bonjour MichD,
Pardon pour le retard... ;-)
Merci pour ta solution. Malheureusement, bien que j'ai coché comme propos é le "Microsoft Forms 2.0 Object Library" la procédure ne s’exécut e pas... :-(
Il me mets en surbrillance: New DataObject
Avec un message stipulant que je n'ai pas défini le type défini par l'u tilisateur..
Qu'est-ce qu'il veut dire exactement par là ? ;-)
Cordialement,
Avatar
MichD
| Avec un message stipulant que je n'ai pas défini le
| type défini par l'utilisateur..
| Qu'est-ce qu'il veut dire exactement par là ?

L'objet : DataObject appartient à la bibliothèque ou référence
"Microsoft Forms 2.0 Object Library".

Si la référence est réellement cochée, il n'y a aucune raison
d'obtenir le message d'erreur que tu mentionnes.

J'ai fait un petit test, et je n'ai aucun message d'erreur!

Tu peux faire ce petit test, après coché la référence, ouvre l'explorateur
d'objets (raccourci clavier F2 dans la fenêtre de l'éditeur de code) et dans
la liste déroulante "Toutes les bibliothèques", regarde si cette
bibliothèque
est réellement chargée : "MsForms".


MichD
---------------------------------------------------------------
,
Avatar
Emile63
L'objet : DataObject appartient à la bibliothèque ou référence
"Microsoft Forms 2.0 Object Library".
Si la référence est réellement cochée, il n'y a aucune raison
d'obtenir le message d'erreur que tu mentionnes.
J'ai fait un petit test, et je n'ai aucun message d'erreur!
Tu peux faire ce petit test, après coché la référence, ouvre l'ex plorateur
d'objets (raccourci clavier F2 dans la fenêtre de l'éditeur de code) et dans
la liste déroulante "Toutes les bibliothèques", regarde si cette
bibliothèque
est réellement chargée : "MsForms".
MichD
---------------------------------------------------------------




(re)Bonjour MichD,

Ok,
j'ai pas bien compris pourquoi, mais quand j'ai regardé tout-à-l'heure, c'était coché (depuis le fichier en question) et après m'avoir rendu attentif, j'ai constaté qu'il ne l'était pas... Fatigué je suppose. .. ??? :-)
Pardon pour mon précédent post, et je me suis auto-puni (claquette sur la nuque)
Alors maintenant que c'est fait, la procédure démarré (pas-à-pas), bip sur "GetFromClipboard"
A la fin de l’exécution, figurent sur les cellules du nouveau classeur ouvert, un texte que j'avais dans le clipboard qui n'a rien a voir avec ce que nous cherchons...
J'ai pas bien compris a quoi sert la chaine : SendKeys Rpt & "%n^c{ESC}"
Toutefois, je dois te préciser que je travaille sur une version Espagnole de microsoft, y compris le clavier, pour si cela pouvait avoir une inciden ce sur la chaîne "n^c"
Merci encore pour ton support,
cordialement,
Avatar
MichD
À cause justement de la commande "SendKeys" tu dois obligatoirement
lancer la macro à partir de l'interface de la feuille de calcul.

Raccourci clavier : Alt + F8
et tu sélectionnes la macro dans la fenêtre et tu appuies sur le bouton
exécuter!



MichD
---------------------------------------------------------------
Avatar
Emile63
El martes, 27 de noviembre de 2012 19:47:47 UTC+1, MichD escribió:
� cause justement de la commande "SendKeys" tu dois obligatoireme nt

lancer la macro � partir de l'interface de la feuille de calcul.

Raccourci clavier : Alt + F8

et tu s�lectionnes la macro dans la fen�tre et tu appuies sur le bouton

ex�cuter!



MichD

---------------------------------------------------------------



Ok, je comprends. :-)
bon j'ai lancé directement depuis la feuille (Alt+F8) et malheureusement, le résultat est le même qu'avant.
Il me copie une phrase que j'avais dans le clipboard depuis Word....
Je précise que la procédure est dans "Personal.xlsb) et que je la lance depuis le classeur/feuille ou j'ai "perdu" les raccourcis clavier.
Avatar
MichD
Essaie en mettant la procédure dans un module standard
dans le fichier dont tu veux extraire les raccourcis associés
aux macros.


MichD
---------------------------------------------------------------