j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du
module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce
que j'ai mis dans mon projet.
Bonjour MichDenis, merci pour le tuyau, mais pour le moment, pas moyen de le faire fonctionner : pas moyen de la faire apparaître dans la liste des macros complémentaires, donc, bien entendu, aucun classeur dans la Workbook list.
"MichDenis" a écrit dans le message de news:
la macro de Stephen Bullen (XL97) qui crée l'arborescense et l'interdépendance des macros d'un classeur sous forme pseudo graphique avec les notions de parent/enfant ainsi que d'autres détailles tels que nombre d'appels, tailles etc... cf ../.. · A straight list of parent/child procedures, useful for checking the detail · A summary pivot table of inter-module and intra-module calls, so you can see at a glance which modules are closely coupled · A pivot table with the parent procedure names in a page field, so you can easily identify which child procedures it calls · A pivot table with the child procedure names in a page field, so you can easily identify the procedures that call it · A complete list of all the procedure calls, shown in a list structure, enabling you to trace through the procedure flow ../..
NB: petits problemes connus : c'est en fait un fichier XLA avec une extension XLS, aprés activation du xls il faut cocher la macro complémentaire: Call Tree 97
petit souci également d'affichage de l'arboresence si la police MS LineDraw n'est pas disponible...
"Jac" a écrit dans le message de news:
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce que j'ai mis dans mon projet.
Merci d'avance à qui me mettra sur la voie.
Jac
Bonjour MichDenis,
merci pour le tuyau, mais pour le moment, pas moyen de le faire fonctionner
: pas moyen de la faire apparaître dans la liste des macros complémentaires,
donc, bien entendu, aucun classeur dans la Workbook list.
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
uTep3XmvHHA.3508@TK2MSFTNGP03.phx.gbl...
la macro de Stephen Bullen (XL97) qui crée
l'arborescense et l'interdépendance des macros d'un classeur
sous forme pseudo graphique avec les notions de parent/enfant ainsi que
d'autres détailles tels que nombre d'appels, tailles etc...
cf ../..
· A straight list of parent/child procedures, useful for checking
the detail
· A summary pivot table of inter-module and intra-module calls, so
you can see at a glance which modules are closely coupled
· A pivot table with the parent procedure names in a page field,
so
you can easily identify which child procedures it calls
· A pivot table with the child procedure names in a page field, so
you can easily identify the procedures that call it
· A complete list of all the procedure calls, shown in a list
structure, enabling you to trace through the procedure flow
../..
NB:
petits problemes connus :
c'est en fait un fichier XLA avec une extension XLS,
aprés activation du xls il faut cocher la macro complémentaire: Call Tree
97
petit souci également d'affichage de l'arboresence si la police MS
LineDraw
n'est pas disponible...
"Jac" <jsanssp@mfra.net> a écrit dans le message de news:
OmDhMOlvHHA.3508@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du
module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout
ce
que j'ai mis dans mon projet.
Bonjour MichDenis, merci pour le tuyau, mais pour le moment, pas moyen de le faire fonctionner : pas moyen de la faire apparaître dans la liste des macros complémentaires, donc, bien entendu, aucun classeur dans la Workbook list.
"MichDenis" a écrit dans le message de news:
la macro de Stephen Bullen (XL97) qui crée l'arborescense et l'interdépendance des macros d'un classeur sous forme pseudo graphique avec les notions de parent/enfant ainsi que d'autres détailles tels que nombre d'appels, tailles etc... cf ../.. · A straight list of parent/child procedures, useful for checking the detail · A summary pivot table of inter-module and intra-module calls, so you can see at a glance which modules are closely coupled · A pivot table with the parent procedure names in a page field, so you can easily identify which child procedures it calls · A pivot table with the child procedure names in a page field, so you can easily identify the procedures that call it · A complete list of all the procedure calls, shown in a list structure, enabling you to trace through the procedure flow ../..
NB: petits problemes connus : c'est en fait un fichier XLA avec une extension XLS, aprés activation du xls il faut cocher la macro complémentaire: Call Tree 97
petit souci également d'affichage de l'arboresence si la police MS LineDraw n'est pas disponible...
"Jac" a écrit dans le message de news:
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce que j'ai mis dans mon projet.
Merci d'avance à qui me mettra sur la voie.
Jac
Jac
Oui, bien sûr, mais c'est tellement facile et rapide... De plus il y a pas mal de lettres qu'Excel n'a pas raccroché à la touche CTRL dont les majuscules.
"LSteph" a écrit dans le message de news:
juste pour le reste.. ...le raccourci clavier, c'est contraire à mes pratiques mais si tu es prêt à te priver de ceux qui existent pour des commandes d'excel en y associant CTrl+ une lettre dans outils macros sélectionne la macro puis clique sur options.
un bouton outil ou commande de menu serait amha plus approprié.
AmiCordialement.
lSteph
Bonsoir Steph, merci de t'être penché sur ma requête. Mon seul problème reste le suivant : cette macro agit dans le classeur qui la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un classeur invisible et générer la liste des macros avec un raccourci clavier dans le classeur actif. Est-ce possible ?
"LSteph" a écrit dans le message de news: %
Bonsoir Jac,
Sub RapportProj() Dim oMod As VBComponent, i As Long, j As Integer Dim myProc As String, myCell As Range i = 1 Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With
For Each oMod In ThisWorkbook.VBProject.VBComponents i = i + 1 With oMod.CodeModule For j = 1 To .CountOfLines If Len(.Lines(j, 1)) > 1 And _ .ProcOfLine(j, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(j, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(j, 1) End If Next j End With Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce que j'ai mis dans mon projet.
Merci d'avance à qui me mettra sur la voie.
Jac
Oui, bien sûr, mais c'est tellement facile et rapide... De plus il y a pas
mal de lettres qu'Excel n'a pas raccroché à la touche CTRL dont les
majuscules.
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
eVuDubovHHA.4528@TK2MSFTNGP03.phx.gbl...
juste pour le reste..
...le raccourci clavier, c'est contraire à mes pratiques
mais si tu es prêt à te priver de ceux qui existent pour des commandes
d'excel en y associant CTrl+ une lettre
dans outils macros
sélectionne la macro puis clique sur options.
un bouton outil ou commande de menu serait amha plus approprié.
AmiCordialement.
lSteph
Bonsoir Steph,
merci de t'être penché sur ma requête.
Mon seul problème reste le suivant : cette macro agit dans le classeur
qui
la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un
classeur invisible et générer la liste des macros avec un raccourci
clavier
dans le classeur actif. Est-ce possible ?
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23NQRaCnvHHA.2040@TK2MSFTNGP03.phx.gbl...
Bonsoir Jac,
Sub RapportProj()
Dim oMod As VBComponent, i As Long, j As Integer
Dim myProc As String, myCell As Range
i = 1
Application.ScreenUpdating = False
Worksheets.Add
With ActiveSheet
.Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss")
.Cells(1) = "Nom de module"
.Cells(2) = "Procèdures"
.Cells(3) = "Détail ligne"
End With
For Each oMod In ThisWorkbook.VBProject.VBComponents
i = i + 1
With oMod.CodeModule
For j = 1 To .CountOfLines
If Len(.Lines(j, 1)) > 1 And _
.ProcOfLine(j, vbext_pk_Proc) <> myProc Then
myProc = .ProcOfLine(j, vbext_pk_Proc)
Set myCell = [a65536].End(xlUp)(2)
myCell = oMod.Name
myCell.Offset(0, 1) = myProc
myCell.Offset(0, 2) = .Lines(j, 1)
End If
Next j
End With
Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom
du module + nom des macros) afin de pouvoir un peu mieux naviguer dans
tout ce que j'ai mis dans mon projet.
Oui, bien sûr, mais c'est tellement facile et rapide... De plus il y a pas mal de lettres qu'Excel n'a pas raccroché à la touche CTRL dont les majuscules.
"LSteph" a écrit dans le message de news:
juste pour le reste.. ...le raccourci clavier, c'est contraire à mes pratiques mais si tu es prêt à te priver de ceux qui existent pour des commandes d'excel en y associant CTrl+ une lettre dans outils macros sélectionne la macro puis clique sur options.
un bouton outil ou commande de menu serait amha plus approprié.
AmiCordialement.
lSteph
Bonsoir Steph, merci de t'être penché sur ma requête. Mon seul problème reste le suivant : cette macro agit dans le classeur qui la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un classeur invisible et générer la liste des macros avec un raccourci clavier dans le classeur actif. Est-ce possible ?
"LSteph" a écrit dans le message de news: %
Bonsoir Jac,
Sub RapportProj() Dim oMod As VBComponent, i As Long, j As Integer Dim myProc As String, myCell As Range i = 1 Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With
For Each oMod In ThisWorkbook.VBProject.VBComponents i = i + 1 With oMod.CodeModule For j = 1 To .CountOfLines If Len(.Lines(j, 1)) > 1 And _ .ProcOfLine(j, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(j, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(j, 1) End If Next j End With Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce que j'ai mis dans mon projet.
Merci d'avance à qui me mettra sur la voie.
Jac
Modeste
Bonsour® Daniel.j avec ferveur ;o))) vous nous disiez :
Une macro de Laurent Mais qui ne donne pas le nom du module voir peut-etre alors là :
Je vais enfin pouvoir documenter mon VBA dans une feuille du classeur.
Merci beaucoup.
Jac
"LSteph" a écrit dans le message de news: %
oui donc:
Sub RapportProj() Dim oMod As VBComponent, J As Integer Dim myProc As String, myCell As Range Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With For Each oMod In ActiveWorkbook.VBProject.VBComponents With oMod.CodeModule For J = 1 To .CountOfLines If Len(.Lines(J, 1)) > 1 And _ .ProcOfLine(J, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(J, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(J, 1) End If Next J End With Next End Sub
Bonsoir Steph, merci de t'être penché sur ma requête. Mon seul problème reste le suivant : cette macro agit dans le classeur qui la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un classeur invisible et générer la liste des macros avec un raccourci clavier dans le classeur actif. Est-ce possible ?
"LSteph" a écrit dans le message de news: %
Bonsoir Jac,
Sub RapportProj() Dim oMod As VBComponent, i As Long, j As Integer Dim myProc As String, myCell As Range i = 1 Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With
For Each oMod In ThisWorkbook.VBProject.VBComponents i = i + 1 With oMod.CodeModule For j = 1 To .CountOfLines If Len(.Lines(j, 1)) > 1 And _ .ProcOfLine(j, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(j, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(j, 1) End If Next j End With Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce que j'ai mis dans mon projet.
Merci d'avance à qui me mettra sur la voie.
Jac
Impec !!!
Je vais enfin pouvoir documenter mon VBA dans une feuille du classeur.
Merci beaucoup.
Jac
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23MeTeUovHHA.1164@TK2MSFTNGP02.phx.gbl...
oui donc:
Sub RapportProj()
Dim oMod As VBComponent, J As Integer
Dim myProc As String, myCell As Range
Application.ScreenUpdating = False
Worksheets.Add
With ActiveSheet
.Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss")
.Cells(1) = "Nom de module"
.Cells(2) = "Procèdures"
.Cells(3) = "Détail ligne"
End With
For Each oMod In ActiveWorkbook.VBProject.VBComponents
With oMod.CodeModule
For J = 1 To .CountOfLines
If Len(.Lines(J, 1)) > 1 And _
.ProcOfLine(J, vbext_pk_Proc) <> myProc Then
myProc = .ProcOfLine(J, vbext_pk_Proc)
Set myCell = [a65536].End(xlUp)(2)
myCell = oMod.Name
myCell.Offset(0, 1) = myProc
myCell.Offset(0, 2) = .Lines(J, 1)
End If
Next J
End With
Next
End Sub
Bonsoir Steph,
merci de t'être penché sur ma requête.
Mon seul problème reste le suivant : cette macro agit dans le classeur
qui
la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un
classeur invisible et générer la liste des macros avec un raccourci
clavier
dans le classeur actif. Est-ce possible ?
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
%23NQRaCnvHHA.2040@TK2MSFTNGP03.phx.gbl...
Bonsoir Jac,
Sub RapportProj()
Dim oMod As VBComponent, i As Long, j As Integer
Dim myProc As String, myCell As Range
i = 1
Application.ScreenUpdating = False
Worksheets.Add
With ActiveSheet
.Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss")
.Cells(1) = "Nom de module"
.Cells(2) = "Procèdures"
.Cells(3) = "Détail ligne"
End With
For Each oMod In ThisWorkbook.VBProject.VBComponents
i = i + 1
With oMod.CodeModule
For j = 1 To .CountOfLines
If Len(.Lines(j, 1)) > 1 And _
.ProcOfLine(j, vbext_pk_Proc) <> myProc Then
myProc = .ProcOfLine(j, vbext_pk_Proc)
Set myCell = [a65536].End(xlUp)(2)
myCell = oMod.Name
myCell.Offset(0, 1) = myProc
myCell.Offset(0, 2) = .Lines(j, 1)
End If
Next j
End With
Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom
du module + nom des macros) afin de pouvoir un peu mieux naviguer dans
tout ce que j'ai mis dans mon projet.
Je vais enfin pouvoir documenter mon VBA dans une feuille du classeur.
Merci beaucoup.
Jac
"LSteph" a écrit dans le message de news: %
oui donc:
Sub RapportProj() Dim oMod As VBComponent, J As Integer Dim myProc As String, myCell As Range Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With For Each oMod In ActiveWorkbook.VBProject.VBComponents With oMod.CodeModule For J = 1 To .CountOfLines If Len(.Lines(J, 1)) > 1 And _ .ProcOfLine(J, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(J, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(J, 1) End If Next J End With Next End Sub
Bonsoir Steph, merci de t'être penché sur ma requête. Mon seul problème reste le suivant : cette macro agit dans le classeur qui la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un classeur invisible et générer la liste des macros avec un raccourci clavier dans le classeur actif. Est-ce possible ?
"LSteph" a écrit dans le message de news: %
Bonsoir Jac,
Sub RapportProj() Dim oMod As VBComponent, i As Long, j As Integer Dim myProc As String, myCell As Range i = 1 Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With
For Each oMod In ThisWorkbook.VBProject.VBComponents i = i + 1 With oMod.CodeModule For j = 1 To .CountOfLines If Len(.Lines(j, 1)) > 1 And _ .ProcOfLine(j, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(j, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(j, 1) End If Next j End With Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans tout ce que j'ai mis dans mon projet.
Merci d'avance à qui me mettra sur la voie.
Jac
Jac
C'est vrai que Laurent est incontournable...
"Modeste" a écrit dans le message de news:
Bonsour® Daniel.j avec ferveur ;o))) vous nous disiez :
Une macro de Laurent Mais qui ne donne pas le nom du module voir peut-etre alors là :
Sub RapportProj() Dim oMod As VBComponent, J As Integer Dim myProc As String, myCell As Range Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With For Each oMod In ActiveWorkbook.VBProject.VBComponents With oMod.CodeModule For J = 1 To .CountOfLines If Len(.Lines(J, 1)) > 1 And _ .ProcOfLine(J, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(J, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(J, 1) End If Next J End With Next End Sub
Bonsoir Steph, merci de t'être penché sur ma requête. Mon seul problème reste le suivant : cette macro agit dans le classeu r qui la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un classeur invisible et générer la liste des macros avec un raccourci clavier dans le classeur actif. Est-ce possible ?
"LSteph" a écrit dans le message de news: %
Bonsoir Jac,
Sub RapportProj() Dim oMod As VBComponent, i As Long, j As Integer Dim myProc As String, myCell As Range i = 1 Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With
For Each oMod In ThisWorkbook.VBProject.VBComponents i = i + 1 With oMod.CodeModule For j = 1 To .CountOfLines If Len(.Lines(j, 1)) > 1 And _ .ProcOfLine(j, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(j, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(j, 1) End If Next j End With Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans t out ce que j'ai mis dans mon projet.
On 4 juil, 23:48, LSteph <lecocost...@frite.fr> wrote:
oui donc:
Sub RapportProj()
Dim oMod As VBComponent, J As Integer
Dim myProc As String, myCell As Range
Application.ScreenUpdating = False
Worksheets.Add
With ActiveSheet
.Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss")
.Cells(1) = "Nom de module"
.Cells(2) = "Procèdures"
.Cells(3) = "Détail ligne"
End With
For Each oMod In ActiveWorkbook.VBProject.VBComponents
With oMod.CodeModule
For J = 1 To .CountOfLines
If Len(.Lines(J, 1)) > 1 And _
.ProcOfLine(J, vbext_pk_Proc) <> myProc Then
myProc = .ProcOfLine(J, vbext_pk_Proc)
Set myCell = [a65536].End(xlUp)(2)
myCell = oMod.Name
myCell.Offset(0, 1) = myProc
myCell.Offset(0, 2) = .Lines(J, 1)
End If
Next J
End With
Next
End Sub
Bonsoir Steph,
merci de t'être penché sur ma requête.
Mon seul problème reste le suivant : cette macro agit dans le classeu r qui
la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un
classeur invisible et générer la liste des macros avec un raccourci clavier
dans le classeur actif. Est-ce possible ?
"LSteph" <lecocost...@frite.fr> a écrit dans le message de news:
%23NQRaCnvHHA.2...@TK2MSFTNGP03.phx.gbl...
Bonsoir Jac,
Sub RapportProj()
Dim oMod As VBComponent, i As Long, j As Integer
Dim myProc As String, myCell As Range
i = 1
Application.ScreenUpdating = False
Worksheets.Add
With ActiveSheet
.Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss")
.Cells(1) = "Nom de module"
.Cells(2) = "Procèdures"
.Cells(3) = "Détail ligne"
End With
For Each oMod In ThisWorkbook.VBProject.VBComponents
i = i + 1
With oMod.CodeModule
For j = 1 To .CountOfLines
If Len(.Lines(j, 1)) > 1 And _
.ProcOfLine(j, vbext_pk_Proc) <> myProc Then
myProc = .ProcOfLine(j, vbext_pk_Proc)
Set myCell = [a65536].End(xlUp)(2)
myCell = oMod.Name
myCell.Offset(0, 1) = myProc
myCell.Offset(0, 2) = .Lines(j, 1)
End If
Next j
End With
Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du
module + nom des macros) afin de pouvoir un peu mieux naviguer dans t out
ce que j'ai mis dans mon projet.
Sub RapportProj() Dim oMod As VBComponent, J As Integer Dim myProc As String, myCell As Range Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With For Each oMod In ActiveWorkbook.VBProject.VBComponents With oMod.CodeModule For J = 1 To .CountOfLines If Len(.Lines(J, 1)) > 1 And _ .ProcOfLine(J, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(J, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(J, 1) End If Next J End With Next End Sub
Bonsoir Steph, merci de t'être penché sur ma requête. Mon seul problème reste le suivant : cette macro agit dans le classeu r qui la contient et moi, j'aurais aimé pouvoir mettre cette macro dans un classeur invisible et générer la liste des macros avec un raccourci clavier dans le classeur actif. Est-ce possible ?
"LSteph" a écrit dans le message de news: %
Bonsoir Jac,
Sub RapportProj() Dim oMod As VBComponent, i As Long, j As Integer Dim myProc As String, myCell As Range i = 1 Application.ScreenUpdating = False Worksheets.Add With ActiveSheet .Name = "Rapport projet " & Format(Now, "ddmmyyyy_hhnnss") .Cells(1) = "Nom de module" .Cells(2) = "Procèdures" .Cells(3) = "Détail ligne" End With
For Each oMod In ThisWorkbook.VBProject.VBComponents i = i + 1 With oMod.CodeModule For j = 1 To .CountOfLines If Len(.Lines(j, 1)) > 1 And _ .ProcOfLine(j, vbext_pk_Proc) <> myProc Then myProc = .ProcOfLine(j, vbext_pk_Proc) Set myCell = [a65536].End(xlUp)(2) myCell = oMod.Name myCell.Offset(0, 1) = myProc myCell.Offset(0, 2) = .Lines(j, 1) End If Next j End With Next
End Sub
'Cordialement
'lSteph
Bonjour à tous,
j'aimerais pourvoir générer dans une feuille, la liste des macros (nom du module + nom des macros) afin de pouvoir un peu mieux naviguer dans t out ce que j'ai mis dans mon projet.