' Calcul de la Moyenne des cellules M1:M10 si les cellules G1:G10 = "ok" Sub MoyenneSiViaSommeprod() Plage1 = "G1:G10" Plage2 = "M1:M10" ' Pour un critère texte, utiliser Triple Guillemets critere = """ok""" SommeProd = "SUMPRODUCT((" & Plage1 & " = " & critere & ")*(" & Plage2 & "))/SUMPRODUCT((" & Plage1 & " = " & critere & ")*(1))" Mosi = Application.Evaluate(SommeProd) Debug.Print Mosi End Sub
4 avril 2014 à 11:30
Tes signes "=" ne risquent donc pas d'y être compris.
Je ne vois par ailleurs pas ce que vient faire là ton EVALUATE. ni pourquoi tu as abandonné worksheetfunction.
Je te rappelle enfin que tant sommeprod que worksheetfunction.sumproduct ne peuvent traiter que des plages de dimensions égales.
4 avril 2014 à 11:42
Bien reçu pour les plages de dimension égale, a priori cette condition est remplie.
Peux-tu m'éclairer sur la manière dont je peux faire fonctionner mon Sumproduct en utilisant worksheetfunction du coup ?
Voici le code en question :
Et voici ce que je veux faire : Je souhaite que dans la cellule (6,5) de la Feuil1 s'affiche le nombre de cellules contenant la réponse "Oui" (ou tout autre texte) à une question à la condition que le service de la personne qui y répond soit celui indiqué en tête de colonne (cellule 4,5)
Merci beaucoup de ta disponibilité !
Modifié par ucfoutu le 4/04/2014 à 11:50
Plutôt Worksheetfunction.Countif, d'ailleurs.
4 avril 2014 à 11:54
Bonne journée et à la prochaine