Appel dynamique à une procédure [VBA] - VB/VBA/VBS - Programmation
MarshPosté le 09-05-2006 à 13:07:31
Bonjour tout le monde,
Voici le contexte:
Sous Access 2003, j'ai une 30aine de modules(pas de modules de classe), contenant chacun une procédure appelée "stat()". Chaque module porte un nom différent et la procédure "stat()" est différente pour chaque module.
J'ai fait ceci pour ne pas avoir 30 procédures différentes dans un meme module. C'est + facile pour retrouver une procédure et la commenter, vu que 1 module = 1 procédure = 1 description de module.
Sur un formulaire, j'affiche les noms de mes modules dans une liste grace a:
Code:
Code :
Private Sub Form_Load()
Dim db As DAO.Database, mddoc As DAO.Document, strDesc As String
Set db = CurrentDb
For Each mddoc In db.Containers("Modules" ).Documents
ZoneListe1.AddItem (mddoc.Name)
Next
End Sub
Une fois le module selectionné dans la liste, je voudrais pouvoir le lancer grace à un bouton (donc en gros lancer: ZoneListe1.value + ".stat()"
En dur, il suffit de faire: nomDuModule.nomDeLaProcedure
Mais en dynamique, comment faire?
Merci beaucoup de votre aide, pcq la je suis vraiment coincé.
Rem: ceci:
Code :
Application.Run(ZoneListe1.value & ".stat()" )
donne L'erreur d'exécution n° 2517: MSAccess ne peut trouver la préocédure essai.stat()
Marsh Posté le 09-05-2006 à 13:07:31
Bonjour tout le monde,
Voici le contexte:
Sous Access 2003, j'ai une 30aine de modules(pas de modules de classe), contenant chacun une procédure appelée "stat()".
Chaque module porte un nom différent et la procédure "stat()" est différente pour chaque module.
J'ai fait ceci pour ne pas avoir 30 procédures différentes dans un meme module. C'est + facile pour retrouver une procédure et la commenter, vu que 1 module = 1 procédure = 1 description de module.
Sur un formulaire, j'affiche les noms de mes modules dans une liste grace a:
Code:
Une fois le module selectionné dans la liste, je voudrais pouvoir le lancer grace à un bouton
(donc en gros lancer: ZoneListe1.value + ".stat()"
En dur, il suffit de faire: nomDuModule.nomDeLaProcedure
Mais en dynamique, comment faire?
Merci beaucoup de votre aide, pcq la je suis vraiment coincé.
Rem: ceci:
donne L'erreur d'exécution n° 2517:
MSAccess ne peut trouver la préocédure essai.stat()