Appel de procedure en fonction du nom stocké dans un champ de table [Résolu]

Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008
- - Dernière réponse : jeromepupuce
Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008
- 1 févr. 2006 à 17:22
Bonjours à tous,

Je travail sous Access 2000, et je voudrais appeler des fonctions ou des sub à partir de leur nom que j'ai préalablement stockée dans un champs d'une table.
J'ai crée un formulaire simple avec une zone de liste qui contient toute ma table, la colonne 1 contient le nom des sub ou fonction,, je souhait que lorsque je clique sur une clique, le programme execute la fonction dont le nom estdonné dans la colonne 1.
la procedure call ne fonctionne pas car la variable contenant le nom de la procedure n'est pas reconnu comme une procedure mais comme du texte. je suppose que c'est normal mais je n'y arrive pas.
Si quelqu'un a une solution, je suis preneur
En esperant avoir été assez clair et explicite, je remercie par avance tous ce qu me repondre et m'apporteront une solution.

A+
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
133
Date d'inscription
mardi 24 décembre 2002
Statut
Membre
Dernière intervention
8 juin 2012
3
3
Merci
Bonjour,

Ce doit être faisable en utilisant la méthode Run.

Un exemple ici sur XL avec la cellule D1.

http://cjoint.com/?bFvGWZbYyf

ctac

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 153 internautes nous ont dit merci ce mois-ci

Messages postés
7401
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
42
0
Merci
Bonsoir,

Je vois bien une solution mais je ne sais pas si elle te plairas.

Tu peux recuperer le nom de la fonction dans une variable:

Dim NomFonction as string

Select case NomFonction
Case "Form_Load": Call Form_Load
Case "Form_Unload"Call Form_Unload
.....
End select

C'est un petit peu lourd a faire.

@+
Julien
Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008
0
Merci
J'ai deja essaye une solution proche de celle que tu me propose mais elle mais fin a tout procedure qui suivrai ce code. Je m'explique, je souhait executer une sub ou fonction quio depend de la ligne selectionnée puis executer un code commun a tout les enregistrement, ce code suit select. En faite, l'excecution deselect case met fin a tout le code qui suit des lors qu'il a trouvé une correspondance.
Je te remercie quand même

A+
Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
4
0
Merci
Salut,
A ma connaissance, il n'y a pas de collection 'subs' ou 'functions' en VB6, encore moins en VBA. En VB.NET, je ne me suis pas posé la question mais je ne pense pas que ça existe.
Donc, aucun moyen autre que celui décrit par <jrivet> pour arriver à tes fins.
D'autre part, si tu expliquais les raisons qui t'on amené à t'orienter de la sorte, on pourrait peut-être te proposer une autre voie.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
28
0
Merci
J'ai eu moi-même besoin d'un tel procédé récement pour créer un logiciel évolutif à la demande du client.

Je n'ai, moi non plus, pas trouvé de solution à part le select case. Donc mon soft n'est pas si évolutif que ça.

On m'avait donné une piste, il y aurait des api capables de récupérer la fonction à l'aide de callback, je n'ai jamais réussis à trouver ces api. Et pour etre honete je doute qu'elles existent vraiment. Je vois pas comment elles pouraient fonctionner.

En bref, je pense que tu n'as pas le choix --> select case

<hr size="2" width="100%">
Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008
0
Merci
Merci a tous pour vos solutions.
Pour "Loup", les raisons qui m'ont pousse a chercher une telle solution sont que je voudrais pour exporter des données extraites de table ou de requete rapidement et sans etre obliger de modifier le code en permenance, surtout avec 25000 enregistrements et 100 exportations differrentes. Ca me permettrai aux mise a jour de ma base de n'effectue qu'un rajout de module et un ajout dans la table exportation avec comme champ "Macro" le nom de la routine a executer avant d'effectuer l'exportation. Mon code est deja interactif et prend en compte l'ensemble des exportations avec des modeles differents, des chemein d'enregistrement differents et des requete differnetes pour chacun.
Si personne ne peut m'apporter de meilleurs solution que Select Case, je l'utiliserai mais mon code ne sera plus interactif.
Merci tout de même.
A+
Messages postés
11
Date d'inscription
vendredi 28 octobre 2005
Statut
Membre
Dernière intervention
30 octobre 2008
0
Merci
Merci a toi CTAC, je n'y avais pas pensé mais ca fonctionne trés bien.....