Bonjour,
Auriez-vous une macro permettant de lister toutes les variables contenues dans un module ou les modules d'un projet vba?
Merci beaucoup de votre aide,
Bon dimanche
Bonjour,
Auriez-vous une macro permettant de lister toutes les variables contenues dans un module ou les modules d'un projet vba?
Merci beaucoup de votre aide,
Bon dimanche
Bonjour,
Voilà déjà une procédure qui renvoie une table contenant la liste des modules présents dans un classeur
Exemple d'une procédure qui l'invoque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Function GetModulesName(Optional objWorkbook As Workbook) As Variant ' Renvoie une table contenant le nom des modules du projet définit par l'argument objWorkbook (ActiveWorkbook par défaut) ' Philippe Tulliez (www.magicoffice.be) ' Arguments ' [objWorkbook] - Nom du classeur (d:=ActiveWorkbook) ' Version : 1.1 ' Déclaration des variables Dim Modules As VBComponents Dim Module As VBComponent Dim C As Integer Dim TableName() Dim ModuleType As Byte ' If objWorkbook Is Nothing Then Set objWorkbook = ActiveWorkbook Set Modules = objWorkbook.VBProject.VBComponents ReDim TableName(Modules.Count) For Each Module In Modules ' Type (1 Module standard - 2 module de classe, 3 UserForm 100 module feuille) ModuleType = IIf(Module.Type > 4, 4, Module.Type) TableName(C) = Str$(ModuleType) & "-" & Module.Name C = C + 1 Next GetModulesName = TableName ' Set Modules = Nothing: Set Module = Nothing End Function
Les noms des modules sont préfixés d'un chiffre (de 1 à 4) suivi d'un tiret (1 Module standard - 2 module de classe, 3 UserForm, 4 module feuille)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Sub TestGetModulesName() Const WorkbookName As String = "Mon classeur.xlsm" Dim tbl As Variant Dim Elem As Integer tbl = GetModulesName(Workbooks(WorkbookName)) For Elem = LBound(tbl) To UBound(tbl) Debug.Print tbl(Elem) Next End Sub
Important
- Nécessite d'activer la référence "Visual basic For Application Extensibility 5.3"
- Pour fonctionner, l'option Accès approuvé au modèle d'objet du projet VBA doit être coché
Philippe Tulliez
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer suret si celle-ci est pertinente pensez à voter
Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier
Partager