VBA Nom de fonction variable
StagiaireVBA
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
Est ce qu'il est possible d'appeler une fonction dont une partie du nom est variable?
mes fonctions ont des noms du type
ObCollecte_Click()
ObConquete_Click() ...
Et je voudrait, appeler la fonction Ob(MaVariable)_Click() ca m'éviterait des dizaines de boucle if du type
If MaVariable = Collecte then call ObCollecte_Click()
If MaVariable = Conquete then call ObConquete_Click()
sachant que ma variable peut prendre aproximativement 30 valeurs différentes...!
Si quelqu'un a une idée je suis preneuse!
Merci d'avance.
Est ce qu'il est possible d'appeler une fonction dont une partie du nom est variable?
mes fonctions ont des noms du type
ObCollecte_Click()
ObConquete_Click() ...
Et je voudrait, appeler la fonction Ob(MaVariable)_Click() ca m'éviterait des dizaines de boucle if du type
If MaVariable = Collecte then call ObCollecte_Click()
If MaVariable = Conquete then call ObConquete_Click()
sachant que ma variable peut prendre aproximativement 30 valeurs différentes...!
Si quelqu'un a une idée je suis preneuse!
Merci d'avance.
2 réponses
-
Bonjour,
Est ce qu'il est possible d'appeler une fonction dont une partie du nom est variable?
non
Par contre si le code de ObCollecte_Click() et ObConquete_Click() est à peu près identique tu peux appeler une macro commune en lui passant une variable.
sub ObCollecte_Click() commun 1 end sub sub ObConquete_Click() commun 2 end sub sub commun(typ) ... if typ=1 then ... elseif typ=2 then ... endif ... end sub
et à la place de :If MaVariable = Collecte then call ObCollecte_Click()
mettre :commun 1
eric -
Bonjour,
Je confirme la réponse d'Eric. Il n'est pas possible d'avoir un nom de fonction ou procédure variable.
En complément de la proposition, on peut utiliser un Select ... Case
Select maVariable Case 1 Call ObCollecte_Click() Case 2 Call ObConquete_Click() End Select
;o)