Déclaration de variables sous VBA

Jenkza -  
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...

1 réponse

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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 être
    Public 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+

    0