Déclaration de variables sous VBA

Fermé
Jenkza - 11 avril 2012 à 18:15
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 11 avril 2012 à 22:17
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

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
11 avril 2012 à 22:17
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