Déclaration de variables sous VBA
Jenkza
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
Je vais prendre un exemple tout bête pour imager mon problème (qui n'en est pas un) :
Imaginons que je souhaite réaliser une petite fonction Excel qui permette de calculer une moyenne pondérée.
Je sais le faire sous excel directement sur la feuille avec sommeprod, mais je souhaiterais l'automatiser.
en clair, je voudrais que dans ma cellule je tape '=moyenne.pond.perso(plage)'
Le problème est que je ne sais pas comment déclarer ma plage dans la déclaration de mes variables pour que l'utilisateur puisse choisir la plage qu'il souhaite.
Je sais que c'est un truc tout bête mais bon...
Je vais prendre un exemple tout bête pour imager mon problème (qui n'en est pas un) :
Imaginons que je souhaite réaliser une petite fonction Excel qui permette de calculer une moyenne pondérée.
Je sais le faire sous excel directement sur la feuille avec sommeprod, mais je souhaiterais l'automatiser.
en clair, je voudrais que dans ma cellule je tape '=moyenne.pond.perso(plage)'
Le problème est que je ne sais pas comment déclarer ma plage dans la déclaration de mes variables pour que l'utilisateur puisse choisir la plage qu'il souhaite.
Je sais que c'est un truc tout bête mais bon...
1 réponse
-
Ton "truc tout bête" c'est compliquer, tu doit faire une fonction qui te calcul un résultat.
1°) Le nom que tu veux donner n'est pas valable, à la limite ce pourrait être
=Moyenne_Pond(A1:A30)
L'ossature de la fonction devrait êtrePublic Function Moyenne_Pond(Plage As Range) As Double Dim Cel As Range, Resultat As Double For Each Cel In Plage 'faire les tests et calculs ici 'pour avoir la valeur du résultat Next Cel Moyenne_Pond = Resultat End Function
A+