Accueil > > > LISTER TOUS LES MODULES ET LES PROCÉDURES DE CHAQUE MODULE (VBA)
LISTER TOUS LES MODULES ET LES PROCÉDURES DE CHAQUE MODULE (VBA)
Information sur la source
Description
Ce code permet de lister tous les modules et les procédures de chaque module (VBA)
Source
- Option Compare Database
- Option Explicit
- 'Déclarations
- Public Mdule As module
- Public LigneDec As Long
- Public LigneCount As Long
- Public Proc As String
- Public ProcNbre As Integer
- Public Type SBProcedures
- Nom As String
- End Type
- Public Type SBModules
- Nom As String
- SBProcedure() As SBProcedures
- End Type
- Public Type SBCodes
- SBModule() As SBModules
- End Type
- Public SBCode As SBCodes
- Sub AnalyseCode()
- ReDim SBCode.SBModule(Application.Modules.Count)
- 'Liste les modules
- For i = 0 To Application.Modules.Count - 1
- Debug.Print Application.Modules(i).Name
- SBCode.SBModule(i).Nom = Application.Modules(i).Name
- Next i
- 'Parcoure les modules
- For i = 0 To UBound(SBCode.SBModule) - 1
- DoCmd.OpenModule SBCode.SBModule(i).Nom
- Set Mdule = Modules(SBCode.SBModule(i).Nom)
- LigneCount = Mdule.CountOfLines
- LigneDec = Mdule.CountOfDeclarationLines
- ProcNbre = 0
- ReDim Preserve SBCode.SBModule(i).SBProcedure(ProcNbre)
- Proc = Mdule.ProcOfLine(LigneDec + 1, vbext_pk_Proc)
- SBCode.SBModule(i).SBProcedure(ProcNbre).Nom = Proc
- 'Liste les procédures
- For j = LigneDec + 1 To LigneCount
- If Proc <> Mdule.ProcOfLine(j, vbext_pk_Proc) Then
- ProcNbre = ProcNbre + 1
- Proc = Mdule.ProcOfLine(j, vbext_pk_Proc)
- ReDim Preserve SBCode.SBModule(i).SBProcedure(ProcNbre)
- SBCode.SBModule(i).SBProcedure(ProcNbre).Nom = Proc
- End If
- Next j
- Next i
- 'Affiche les procédures dans la fenêtre debug
- For i = 0 To UBound(SBCode.SBModule) - 1
- For j = 0 To UBound(SBCode.SBModule(i).SBProcedure) - 1
- Debug.Print SBCode.SBModule(i).Nom + " : " + SBCode.SBModule(i).SBProcedure(j).Nom
- Next j
- Next i
- End Sub
Option Compare Database
Option Explicit
'Déclarations
Public Mdule As module
Public LigneDec As Long
Public LigneCount As Long
Public Proc As String
Public ProcNbre As Integer
Public Type SBProcedures
Nom As String
End Type
Public Type SBModules
Nom As String
SBProcedure() As SBProcedures
End Type
Public Type SBCodes
SBModule() As SBModules
End Type
Public SBCode As SBCodes
Sub AnalyseCode()
ReDim SBCode.SBModule(Application.Modules.Count)
'Liste les modules
For i = 0 To Application.Modules.Count - 1
Debug.Print Application.Modules(i).Name
SBCode.SBModule(i).Nom = Application.Modules(i).Name
Next i
'Parcoure les modules
For i = 0 To UBound(SBCode.SBModule) - 1
DoCmd.OpenModule SBCode.SBModule(i).Nom
Set Mdule = Modules(SBCode.SBModule(i).Nom)
LigneCount = Mdule.CountOfLines
LigneDec = Mdule.CountOfDeclarationLines
ProcNbre = 0
ReDim Preserve SBCode.SBModule(i).SBProcedure(ProcNbre)
Proc = Mdule.ProcOfLine(LigneDec + 1, vbext_pk_Proc)
SBCode.SBModule(i).SBProcedure(ProcNbre).Nom = Proc
'Liste les procédures
For j = LigneDec + 1 To LigneCount
If Proc <> Mdule.ProcOfLine(j, vbext_pk_Proc) Then
ProcNbre = ProcNbre + 1
Proc = Mdule.ProcOfLine(j, vbext_pk_Proc)
ReDim Preserve SBCode.SBModule(i).SBProcedure(ProcNbre)
SBCode.SBModule(i).SBProcedure(ProcNbre).Nom = Proc
End If
Next j
Next i
'Affiche les procédures dans la fenêtre debug
For i = 0 To UBound(SBCode.SBModule) - 1
For j = 0 To UBound(SBCode.SBModule(i).SBProcedure) - 1
Debug.Print SBCode.SBModule(i).Nom + " : " + SBCode.SBModule(i).SBProcedure(j).Nom
Next j
Next i
End Sub
Conclusion
Ce code me sert dans Access, je suppose qu'il est transposable dans d'autres applications Office utilisant le VBA et les modules
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
ACCESS VBA - Affecter le nom de la procédure en cours dans une variable [ par JM247L ]
Bonjour,Pour la mise en forme d'une gestion d'erreur dans une application Access, je souhaiterai pouvoir récupérer dans une variable le nom de la proc
Appelé une fonction public sub [ par cedricbollini ]
Bonjour,Je suis novice en programmation VBA et je rencontre en ce moment deux petits problèmes,1er problème: je ne connais pas la syntaxe pour appeler
vba excel +liste déroulante [ par flyersgoaler ]
Bonjour, j'ai inséré une liste déroulante dans une cellule sur excel. Chaque nom inséré dans la liste déroulante correspond à mes douze feuilles qui
Exporter les données d'une liste sous VBA vers Access [ par Benythefrog ]
Bonjour a tous et a toutes les DeveloppeursMerci d'avance pour votre aide qui j'en suis sure me sera trés précieuseVoila je recupere dans une liste un
déclarations dans une procédure vba (excel 2003) [ par nasilo ]
Bonjour,Retraité depuis peu j'essaie à présent (mieux vaut tard que jamais parait-il), d'apprendre vba sous excel 2003 en modifiant une application bu
trier une listbox en vba excel [ par Fabian123 ]
Bonjour!tout est dans la question!j'ai une liste d'article sur une feuille excel, qui est chargée dans une listbox, la liste n'est pas triée (et je ne
Procédure dans un module puis l'appeler [ par 4rocky4 ]
Bonjour,J'ai plusieurs procédure sur plusieurs formulaires Access qui sont les mêmes.Et je voudrais mettre la procédure dans un module et l'appeler à
Copie module VB vers VBA [ par love8906 ]
Bonsoir à tous,je voudrais recopier le contenu d'un module (.bas) contenu dans une DLL vers VBA excel pour associer la procédure contenu dans ce modul
liste déroulante excel vba [ par elisastas ]
BonjourTout d'abords merci à tout ceux qui liront ce petit message.Je suis très novice mais en m'explicant je comprends <img class="inlineimg" title="
Question sur VBA excel [ par eastpeople ]
Bonjour tout le monde, alors je vais tenter de vos expliquer mon problème.J'ai un userform avec une liste deroulante, j'aimerai que quand une valeur e
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en ½uvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|