Appel de fonction avec variable en paramètre

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Je viens de chercher sur le Web , mais pas trouvé exactement ce que je voulais
J'ai une macro , dedans je veux appeler une fonction ex : y=maFonc(D4) , Y car il me faut récupérer la valeur de retour de cette fonction
Celle-ci fonctionne bien si je la met dans une cellule de feuille , comme par ex : en A10 : =maFonc(D4)

Quelle syntaxe faut-il utiliser pour la mettre dans une "Private Sub CommanButton" ? ; Sachant que je dois remplacer D4 par une variable "Adr" qui me donne en resultat par exemple "B3" , puis "B4" Etc ...
J'ai fait :
Y=maFonc(Adr) > marche pas
j'ai mis en 'dur' Y= maFonc(B3) > marche pas
Merci de votre aide et connaissances
 

autleaf

XLDnaute Nouveau
Re : Appel de fonction avec variable en paramètre

Bonjour,

Tu ne peux pas utiliser le nom d'une case de cette façon avec VBA.
Tout d'abord, comment as-tu défini ta fonction ?
Elle devrait avoir la forme suivante :

Code:
Function maFonc(dim Adr as Range)
...

Ensuite, au moment où tu appelles la fonction, le paramètre que tu lui donnes doit avoir le bon format (de type Range donc).
Essaie avec :

Code:
Adr = Activeworksheet.Range("B3")
y=maFonc(Adr)

Si cela ne fonctionne pas, tu as toujours la possibilité de récupérer les numéros de colonnes et de lignes (fonctions Column et Row) puis d'utiliser la fonction ADRESSE.
 

Discussions similaires

Statistiques des forums

Discussions
312 413
Messages
2 088 191
Membres
103 755
dernier inscrit
Nicolas TULENGE