Salut,
Existe-t-il un moyen d'exporter tout le code VBA d'une base access ???
Le code peut être contenu dans un formulaire, un état et un module.
Merci.
Salut,
Existe-t-il un moyen d'exporter tout le code VBA d'une base access ???
Le code peut être contenu dans un formulaire, un état et un module.
Merci.
Bonjour,
Il est possible d'éxtraire tout le code contenu dans une base de donnée Access en utilisant l'introspection.
voici une contribution que j'ai proposé, à partir des objets Modules (de code) il est possible d'extraire chaque ligne d'un module (Module de classe, module de code, Module de formulaire, module d'etat, etc ...)
http://www.developpez.net/forums/d79...lister-appels/
Salut,
Merci pour la réponse, mais cela me bloque à la ligne :
Le message est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part CodeStruct(Iter) = Array(Comp.Name, CurProc, Comp.CodeModule.ProcStartLine(CurProc, vbext_pk_Proc), Comp.CodeModule.ProcCountLines(CurProc, vbext_pk_Proc))
"erreur d'exécution '35'
Sub ou Function non définie"
Alors que la bibliothèque "Microsoft Visual Basic for Applications Extensibility 5.3" est bien active et que je sélectionne une des functions d'un de mes modules...
Salut,
As-tu bien pris le dernier fichier zippé ?(tout à la fin de la discution)
Les fichiers les plus récents sont ceux qui sont le plus loin dans la discution.
Effectivement, je n'ai plus le message d'erreur !
Mais ou se trouve le code ???
En fait il faut analyser un peu ce code car il lit dans chaque module de code. Il existe des paramètres pour savoir si l'on est dans un module de classe, module de formulaire, etc ...
Les lignes de codes sont stockées dans l'objet Module.
par exemple pour parcourir chaque ligne d'un module :
et donc pour toutes les récupérer d'un coup
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dim numeroDeLigneEnCours As Long For numeroDeLigneEnCours = 1 To composantVB.CodeModule.CountOfLines debug.print composantVB.CodeModule.Lines(numeroDeLigneEnCours, 1) Next
pour parcourir les composants VB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 debug.print composantVB.CodeModule.Lines(1, composantVB.CodeModule.CountOfLines)
la procédure traiterLeComposantVB est composé de l'un des deux morceaux de code ci-dessus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For Each composantVB In Application.VBE.ActiveVBProject.VBComponents traiterLeComposantVB Next
Partager