OVH Cloud OVH Cloud

Raccourcis-clavier pour macros

2 réponses
Avatar
Pier3d
Bonjour,

Une recherche m'a amené à ce post : http://www.generation-nt.com/reponses/vba-liste-raccourcis-clavier-executant-macros-entraide-770541.html#4228141

Il y a là une macro qui est sensée afficher toutes les macros présentes dans l'éditeur avec leur raccourci-clavier s'il en existe un.

Malgré le fait que j'utilise le Vba d'Excel depuis des années et que je réfère souvent à l'aide, en ligne et hors ligne, et sur des forums comme ici, je n'ai jamais vu ce genre d'écriture de code. Est-ce bien du Vba ?

En plus, cette ligne, me semble contenir des erreurs :
__________________________________________
Rpt = "e;e;e;%{F8}{TAB}"e;e;e; & Application.Rept("e;e;e;{DOWN)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Ne manque-t-il pas à la fin une accolade en fermeture et un guillemet avant la dernière parenthèse ?

Et, comment pourrais-je comprendre le cheminement de ce code étrange ? À quelle aide pourrais-je me référer ? Qui est Laurent Longre ?

Enfin, cette macro fait-elle ce que j'ai décris plus haut ? Si oui, affiche-t-elle les macros contenues dans personal.xlsx ou simplement dans le classeur local ?

Merci à l'avance pour vos réponses.

Pierre Cloutier

2 réponses

Avatar
isabelle
bonjour Pierre,
c'est plutot,
Rpt = "%{F8}{TAB}" & Application.Rept("{DOWN}", I)
Sub ListeMacros()
' LL
'nécessite une référence à la bibliothèque
'Microsoft Forms 2.0 Object Library
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}"
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
joyeuses fêtes
isabelle
Le 2016-12-27 à 17:20, Pier3d a écrit :
Bonjour,
Une recherche m'a amené à ce post :
http://www.generation-nt.com/reponses/vba-liste-raccourcis-clavier-executant-macros-entraide-770541.html#4228141
Il y a là une macro qui est sensée afficher toutes les macros présentes dans
l'éditeur avec leur raccourci-clavier s'il en existe un.
Malgré le fait que j'utilise le Vba d'Excel depuis des années et que je réfère
souvent à l'aide, en ligne et hors ligne, et sur des forums comme ici, je n'ai
jamais vu ce genre d'écriture de code. Est-ce bien du Vba ?
En plus, cette ligne, me semble contenir des erreurs :
__________________________________________
Rpt = "e;e;e;%{F8}{TAB}"e;e;e; & Application.Rept("e;e;e;{DOWN)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Ne manque-t-il pas à la fin une accolade en fermeture et un guillemet avant la
dernière parenthèse ?
Et, comment pourrais-je comprendre le cheminement de ce code étrange ? À quelle
aide pourrais-je me référer ? Qui est Laurent Longre ?
Enfin, cette macro fait-elle ce que j'ai décris plus haut ? Si oui,
affiche-t-elle les macros contenues dans personal.xlsx ou simplement dans le
classeur local ?
Merci à l'avance pour vos réponses.
Pierre Cloutier
Avatar
?K?
Bonjour
D'après Pier3d
Bonjour,
Une recherche m'a amené à ce post :
http://www.generation-nt.com/reponses/vba-liste-raccourcis-clavier-executant-macros-entraide-770541.html#4228141
... Est-ce bien du Vba ?

oui
...Et, comment pourrais-je comprendre le cheminement de ce code étrange ? À
quelle aide pourrais-je me référer ?
...

déjà sendkeys ici
https://msdn.microsoft.com/fr-fr/library/office/gg278655.aspx
en essayant au clavier les combinaisons de touches codées dans la macro
;-)
et dataobject ici
http://dj.joss.free.fr/presspap.htm
mais comme le montre la deuxième macro on peut aussi s'en passer en
utilisant directement des cellules
cdlt
--
-