Pointeur de fonction

Messages postés
6
Date d'inscription
mercredi 15 février 2012
Statut
Membre
Dernière intervention
29 mai 2019
- - Dernière réponse : Patrice33740
Messages postés
7761
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
18 juin 2019
- 30 mai 2019 à 23:02
Bonjour,

j'ai besoin de votre aide.
Je voudrais faire un appel de fonction mais je ne vois pas quelle synthaxe utiliser, je m'explique avec un bout de code :

Select Case Range("Metriques")
    
    Case "Vol"
    
        function = getVol2   '<= nom de la fonction qu'il faut en mémoire dans le cas ou dans une case j'ai "Vol"
        
  Case "Tracking"

        function = getTE '<= nom de la fonction qu'il faut en mémoire dans le cas ou dans une case j'ai "Tracking"

End Select

Do While Date_Fin2 <= Range("Date_Fin")

Range("T_Metriques").Cells(1 + r, N_col_Valeurs) = Function(Range("N_Fonds"), Date_Fin2) '<= appel de la fonction que j'avais en mémoire avec les arguments.

Loop


Merci pour votre aide
--
Afficher la suite 

2 réponses

Messages postés
14486
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
17 juin 2019
131
0
Merci
Cela n'est pas possible en VBA (ou du moins pas facilement) et c'est surtout sale.

Il vaut mieux mémoriser une variable (par exemple un numérique) puis appeler la bonne fonction ensuite (case 1 -> getVol2, ...) avec les paramètres.
Commenter la réponse de NHenry
Messages postés
7761
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
18 juin 2019
16
0
Merci
Bonjour

Si tu parles d'une fonction personnalisée utilisable depuis une cellule, elle ne peut pas agir sur d'autres cellules, elle ne peut que retourner un résultat vers cette cellule.

Si tu parles d'une fonction appelée depuis une procédure (sub), il suffit , comme dit NHenry, de transmettre à cette fonction tous les paramètres nécessaires.

Tu trouveras toutes les explications dans cet excellent cours gratuit, à partir de la page 29 :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Commenter la réponse de Patrice33740