Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

lister macro classeur

S

steve

Guest
bonsoir tous le monde.

comment lister les macros d un classeur dans la feuil1 par exemple en automatique si possible.

merci d'avance
 
J

jp

Guest
Bonsoir steve,

As-tu fait une recherche sur le Forum, la solution a été donnée récemment.
Je ne te citerais pas l'auteur de la réponse car j'ai un doute.
Je vais regarder de mon coté au cas où tu n'aurais pas réponse. Regardes déjà dans les 300 derniers messages, sinon après dans le Forum.

Bonne nuit.

jp
 
M

michel

Guest
bonsoir steeve , bonsoir jp

apparament la recherche sur le forum est provisoirement désactivée ...;o(

j'espère que le classeur joint répondra à ta demande


bonne soirée
Michel
 

Pièces jointes

  • composants_vba_project_v03.zip
    15.5 KB · Affichages: 22
  • composants_vba_project_v03.zip
    15.5 KB · Affichages: 24
  • composants_vba_project_v03.zip
    15.5 KB · Affichages: 24
M

michel

Guest
bonsoir jp , bonsoir steve

peux tu tester la macro ( bricolée ) ci dessous
la procédure renvoie la liste de noms des macros du classeur actif

Sub ListeDesMacros()
Dim Modul As Variant
Dim i As Integer
Dim Y As Integer
Dim X As Byte
Dim Cible As String

For i = 1 To ActiveWorkbook.VBProject.VBComponents.Count
Set Modul = ActiveWorkbook.VBProject.VBComponents(i).codemodule
With Modul
For Y = 1 To .CountOfLines
Cible = ActiveWorkbook.VBProject.VBComponents(Modul).codemodule.Lines(Y, 1)
Cible = Application.Substitute(Cible, " ", "")
If Len(Application.Substitute(Cible, "Sub", "")) < Len(Cible) Then
If Left(Cible, 3) = "Sub" Or Left(Cible, 7) = "Private" Then
X = X + 1
Cells(X, 1) = ActiveWorkbook.VBProject.VBComponents(Modul).codemodule.Lines(Y, 1)
End If
End If
Next
End With
Next
End Sub



il te restera à l'adapter pour ton projet

bonne soirée
Michel
 

Discussions similaires

Réponses
10
Affichages
550
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…