Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Frank,
Une procédure de Frédéric Sigonneau :
http://perso.wanadoo.fr/frederic.sigonneau
Tu dois ajouter la bibliothèque suivante à ton classeur pour exécuter cette macro.
Attention : Cette procédure ne tiendra pas compte des "fonctions personnalisées" du module concerné, seulement les procédures.
"Microsoft Visual Basic For Application Extensibility 5.3"
'=================== Sub ListeMacrosModule() 'nécessite une référence à la librairie 'Microsoft Visual Basic For Application Extensibility 5.3 Dim VBCodeMod As CodeModule Dim StartLine As Long Dim ProcName As String Dim Wbk As Workbook Dim i As Long
Set Wbk = ThisWorkbook 'ou ce que tu veux 'remplace "Module1" par le nom du module à examiner Set VBCodeMod = Wbk.VBProject.VBComponents("Module1").CodeModule
Workbooks.Add: i = 1 With VBCodeMod StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines Cells(i, 1).Value = .ProcOfLine(StartLine, vbext_pk_Proc) StartLine = StartLine + .ProcCountLines(.ProcOfLine(StartLine, _ vbext_pk_Proc), vbext_pk_Proc) i = i + 1 Loop End With End Sub '===================
Salutations!
"Franck" a écrit dans le message de news:14bb01c4ac46$1c0b3040$ Bonjour,
Y'a t-il un moyen simple VB ou autre, de scanner un Module et d'en sortir tous les noms de macro ?
Merci
Bonjour Frank,
Une procédure de Frédéric Sigonneau :
http://perso.wanadoo.fr/frederic.sigonneau
Tu dois ajouter la bibliothèque suivante à ton classeur pour exécuter cette macro.
Attention : Cette procédure ne tiendra pas compte des "fonctions personnalisées" du module concerné, seulement les
procédures.
"Microsoft Visual Basic For Application Extensibility 5.3"
'=================== Sub ListeMacrosModule()
'nécessite une référence à la librairie
'Microsoft Visual Basic For Application Extensibility 5.3
Dim VBCodeMod As CodeModule
Dim StartLine As Long
Dim ProcName As String
Dim Wbk As Workbook
Dim i As Long
Set Wbk = ThisWorkbook 'ou ce que tu veux
'remplace "Module1" par le nom du module à examiner
Set VBCodeMod = Wbk.VBProject.VBComponents("Module1").CodeModule
Workbooks.Add: i = 1
With VBCodeMod
StartLine = .CountOfDeclarationLines + 1
Do Until StartLine >= .CountOfLines
Cells(i, 1).Value = .ProcOfLine(StartLine, vbext_pk_Proc)
StartLine = StartLine + .ProcCountLines(.ProcOfLine(StartLine, _
vbext_pk_Proc), vbext_pk_Proc)
i = i + 1
Loop
End With
End Sub
'===================
Salutations!
"Franck" <bernard@tolbiac.inserm.fr> a écrit dans le message de news:14bb01c4ac46$1c0b3040$a401280a@phx.gbl...
Bonjour,
Y'a t-il un moyen simple VB ou autre, de scanner un Module
et d'en sortir tous les noms de macro ?
Tu dois ajouter la bibliothèque suivante à ton classeur pour exécuter cette macro.
Attention : Cette procédure ne tiendra pas compte des "fonctions personnalisées" du module concerné, seulement les procédures.
"Microsoft Visual Basic For Application Extensibility 5.3"
'=================== Sub ListeMacrosModule() 'nécessite une référence à la librairie 'Microsoft Visual Basic For Application Extensibility 5.3 Dim VBCodeMod As CodeModule Dim StartLine As Long Dim ProcName As String Dim Wbk As Workbook Dim i As Long
Set Wbk = ThisWorkbook 'ou ce que tu veux 'remplace "Module1" par le nom du module à examiner Set VBCodeMod = Wbk.VBProject.VBComponents("Module1").CodeModule
Workbooks.Add: i = 1 With VBCodeMod StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines Cells(i, 1).Value = .ProcOfLine(StartLine, vbext_pk_Proc) StartLine = StartLine + .ProcCountLines(.ProcOfLine(StartLine, _ vbext_pk_Proc), vbext_pk_Proc) i = i + 1 Loop End With End Sub '===================
Salutations!
"Franck" a écrit dans le message de news:14bb01c4ac46$1c0b3040$ Bonjour,
Y'a t-il un moyen simple VB ou autre, de scanner un Module et d'en sortir tous les noms de macro ?
Merci
Franck
Génial !
C'est parfait, merci
VIVE LE MPFE !!!!
-----Message d'origine----- Bonjour Frank,
Une procédure de Frédéric Sigonneau :
http://perso.wanadoo.fr/frederic.sigonneau
Tu dois ajouter la bibliothèque suivante à ton classeur pour exécuter cette macro.
Attention : Cette procédure ne tiendra pas compte des "fonctions personnalisées" du module concerné,
seulement les
procédures.
"Microsoft Visual Basic For Application Extensibility 5.3"
'==================== Sub ListeMacrosModule() 'nécessite une référence à la librairie 'Microsoft Visual Basic For Application Extensibility 5.3 Dim VBCodeMod As CodeModule Dim StartLine As Long Dim ProcName As String Dim Wbk As Workbook Dim i As Long
Set Wbk = ThisWorkbook 'ou ce que tu veux 'remplace "Module1" par le nom du module à examiner Set VBCodeMod = Wbk.VBProject.VBComponents ("Module1").CodeModule
Workbooks.Add: i = 1 With VBCodeMod StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines Cells(i, 1).Value = .ProcOfLine(StartLine, vbext_pk_Proc)
vbext_pk_Proc), vbext_pk_Proc) i = i + 1 Loop End With End Sub '====================
Salutations!
"Franck" a écrit dans le message de news:14bb01c4ac46$1c0b3040$
Bonjour,
Y'a t-il un moyen simple VB ou autre, de scanner un Module et d'en sortir tous les noms de macro ?
Merci
.
Génial !
C'est parfait, merci
VIVE LE MPFE !!!!
-----Message d'origine-----
Bonjour Frank,
Une procédure de Frédéric Sigonneau :
http://perso.wanadoo.fr/frederic.sigonneau
Tu dois ajouter la bibliothèque suivante à ton classeur
pour exécuter cette macro.
Attention : Cette procédure ne tiendra pas compte
des "fonctions personnalisées" du module concerné,
seulement les
procédures.
"Microsoft Visual Basic For Application Extensibility 5.3"
'====================
Sub ListeMacrosModule()
'nécessite une référence à la librairie
'Microsoft Visual Basic For Application Extensibility 5.3
Dim VBCodeMod As CodeModule
Dim StartLine As Long
Dim ProcName As String
Dim Wbk As Workbook
Dim i As Long
Set Wbk = ThisWorkbook 'ou ce que tu veux
'remplace "Module1" par le nom du module à examiner
Set VBCodeMod = Wbk.VBProject.VBComponents
("Module1").CodeModule
Workbooks.Add: i = 1
With VBCodeMod
StartLine = .CountOfDeclarationLines + 1
Do Until StartLine >= .CountOfLines
Cells(i, 1).Value = .ProcOfLine(StartLine,
vbext_pk_Proc)
Tu dois ajouter la bibliothèque suivante à ton classeur pour exécuter cette macro.
Attention : Cette procédure ne tiendra pas compte des "fonctions personnalisées" du module concerné,
seulement les
procédures.
"Microsoft Visual Basic For Application Extensibility 5.3"
'==================== Sub ListeMacrosModule() 'nécessite une référence à la librairie 'Microsoft Visual Basic For Application Extensibility 5.3 Dim VBCodeMod As CodeModule Dim StartLine As Long Dim ProcName As String Dim Wbk As Workbook Dim i As Long
Set Wbk = ThisWorkbook 'ou ce que tu veux 'remplace "Module1" par le nom du module à examiner Set VBCodeMod = Wbk.VBProject.VBComponents ("Module1").CodeModule
Workbooks.Add: i = 1 With VBCodeMod StartLine = .CountOfDeclarationLines + 1 Do Until StartLine >= .CountOfLines Cells(i, 1).Value = .ProcOfLine(StartLine, vbext_pk_Proc)