Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 calcul coût moyen VBA dans Userform

youpi457032

XLDnaute Occasionnel
Bonjour,
Je dispose d'une base élève. Je peux filtrer par une macro filtre (déjà en place ) mes élèves en fonction des cours désirés. Les résultats apparaissent dont une feuille " résultat filtre" et dans un Userform.
Je dispose également d'un userform facturation associé à une feuille facturation qui me permet de calculer la somme du prix des cours pris par chaque élève.
Jusque là, pas de problème tout fonctionne.
J'ai rajouté dans mon userform filtre une colonne (L3) dans laquelle je voudrai qu'il apparaisse pour chaque élève, quand je filtre sur un ou plusieurs cours, le coût moyen par élève . Je m'explique par un exemple.
Si un élève à un coût total de 710 euros (exemple de l'elève NOM 27 dans mon fichier onglet facturation) pour 4 cours pris , il faudrait qu'en L3 de mon userform Filtrer apparaisse en face de son nom (sa ligne) le prix moyen : soit le coût total (qui figure en T37 de mon userform règlement_facturation) divisé par le nombre de cours pris ( pour cela il faudrait que la macro compte le nombre de cours pris ; par exemple en comptant les listbox non vide de T6 à T17 du même userform règlement facturation)
dans l'exemple précis l'élève 27 a pris 4 cours, il doit 710 euros, le coût moyen est de 710 divisé par 4.

je voudrais que ce résultat aparaisse en face de sa ligne dans l'userform Filtre, en L3, et ceci ainsi de suite pour chaque élève.
L'idée finale est de filtrer tous les elèves d'un cours (ce que fait déjà ma macro filtre), puis de calculer pour chaque elève le prix moyen du cours en fonction du total elève ( que l'on retrouve en userform facturation :T37) divisé par le nombre de cours que chaque elève a pris.

Enfin, je voudrais faire la somme automatique de tous les sommes apparaissant en L3. cette somme devrait apparaître en textbox "Moyenne_cours" figurant dans l'USERFOM "FILTRE"

synthèse de ma demande :
Une macro qui :
- compte le nombre de cours pour chaque elève
- vient récupérer la somme du total dû par cet elève
- fait la moyenne total dû divisé par le nombre de cours
- vient afficher ce résultat moyen ligne par ligne pour chaque élève concerné en L3 en face de son nom
- fasse la somme de tout cela en Moyenne_cours de l'userform

Précision importante : NE DOIVENT ËTRE CONCERNES PAR LE CALCUL QUE LES ELEVES QUI SONT INSCRITS DANS LE COURS OBJET DU FILTRAGE. SEULS CES ELVES DOIVENT APPARAÏTRE. L'IDEE FINALE EST DE SAVOIR POUR CHAQUE COURS CE QUE RAPPORTE EN MOYENNE UN ELEVE DANS CE COURS.

MERCI DE VOTRE AIDE !

Je joins mon fichier anonymisé pour plus de facilité à la compréhension.
 

Pièces jointes

  • malafretaz finalisé + coût.xlsm
    243 KB · Affichages: 22

Discussions similaires

Réponses
8
Affichages
215
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…