[VBA] Appel dynamique à une procédure

Appel dynamique à une procédure [VBA] - VB/VBA/VBS - Programmation

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:  

Code :
  1. Private Sub Form_Load()
  2. Dim db As DAO.Database, mddoc As DAO.Document, strDesc As String
  3. Set db = CurrentDb
  4. For Each mddoc In db.Containers("Modules" ).Documents
  5.     ZoneListe1.AddItem (mddoc.Name)
  6. Next
  7. 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 :
  1. Application.Run(ZoneListe1.value & ".stat()" )


donne L'erreur d'exécution n° 2517:  
MSAccess ne peut trouver la préocédure essai.stat()  

Reply

Marsh Posté le 09-05-2006 à 13:07:31   

Reply

Marsh Posté le 09-05-2006 à 13:18:52    

Cherche du côté de CallByName()

Reply

Marsh Posté le 09-05-2006 à 13:24:48    

je vais voir ca de suite, merci bcp ;)
 
Par contre, il faudrait que je trouve comment faire pointer un objet module vers le module choisis


Message édité par junior_jef le 09-05-2006 à 13:45:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed