Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2006, 10h47   #1
Membre à l'essai
 
Inscription : juillet 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 40
Points : 20
Points : 20
Par défaut [VBA] Agir sur le VBAProject

Bonjour,

Je cherche à savoir s'il est possible dans du code VBA d'aller lire les objets du VBA.

En l'occurence, le but serait de parcourir tous les objets (feuilles, modules, ...) de mon projet pour générer de la doc à partir des commentaires de mon code.

Est-ce quelqu'un a une idée ? Merci

P.R
preverse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2006, 12h49   #2
Rédacteur
 
Homme michel Tanguy
Inscription : août 2005
Messages : 3 317
Détails du profil
Informations personnelles :
Nom : Homme michel Tanguy
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Secteur : Industrie

Informations forums :
Inscription : août 2005
Messages : 3 317
Points : 10 706
Points : 10 706
bonjour

j'espere que tu pourras adapter cette macro à ton projet


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub listeMacros()
'necessite d'activer la reference Visual basic For Application Extensibility 5.3
Dim i As Integer, Ajout As Integer
Dim Msg As String
Dim VBCmp As VBComponent
Dim x As Integer
 
Ajout = 1
 
For Each VBCmp In ThisWorkbook.VBProject.VBComponents
    Msg = VBCmp.Name
        With Cells(Ajout, 1)
        .Interior.ColorIndex = 6
        .Value = Msg
        End With
 
    x = ThisWorkbook.VBProject.VBComponents(Msg).codemodule.CountOfLines
        For i = 1 To x
        Cells(Ajout + i, 1) = ThisWorkbook.VBProject.VBComponents(Msg).codemodule.Lines(i, 1)
        Next
    Ajout = Ajout + x + 2
Next VBCmp
 
End Sub


bon apres midi
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2006, 13h29   #3
Membre à l'essai
 
Inscription : juillet 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 40
Points : 20
Points : 20
Merci beaucoup pour cette réponse.

Quand je teste ThisWorkbook.VBProject, j'ai une erreur comme quoi l'accès par programme au projet Visual Basic n'est pas fiable.

C'est une erreur qui vous parle ?

Sachant que je n'ai pas trouvé dans les références de "Visual basic For Application Extensibility 5.3", j'ai "Visual basic For Application". Ce n'est pas la même chose ?

P.R
preverse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2006, 13h37   #4
Membre à l'essai
 
Inscription : juillet 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 40
Points : 20
Points : 20
J'ai trouvé la librairie :
"Microsoft Visual basic For Application Extensibility 5.3"
Mais ça ne change pas mon problème
preverse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2006, 13h51   #5
Membre à l'essai
 
Inscription : juillet 2004
Messages : 40
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 40
Points : 20
Points : 20
J'ai trouvé la réponse sur le net, la voici :
Il faut aller dans :
outils
macro
securité
onglet sources fiables
cocher la case " faire confiance au projet visual basic"

Merci de votre aide.

P.R
preverse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2008, 17h14   #6
Invité de passage
 
Inscription : avril 2008
Messages : 6
Détails du profil
Informations forums :
Inscription : avril 2008
Messages : 6
Points : 2
Points : 2
Oui, et pour la version 2007, il faut :
1. Déclarer un emplacement approuvé
2. cocher Accès approuvé au modèle d'objet du projet VBA
papyjac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h31.


 
 
 
 
Partenaires

Hébergement Web