formule de moyenne en VBE

M

man

Guest
Bonjour à tous

J’ai inséré la formule suivante dans une macro, mais elle me renvoie toujours l’erreur « #valeur! ».

Range("K6") = Evaluate("SUMPRODUCT((month(B6:B65536)=9)*(year(B6:B65536)=2003)*(E6:E65536))/SUMPRODUCT((Month(B6:B65536)=9)*(year(B6:B65536)=2003)*(E6:E65536<>"")")


Cette formule consiste à évaluer le résultat de la moyenne de la colonne E6 à E65536 si la date dans la colonne B correspond au mois et à l’année spécifiée dans la formule (ex : septembre 2003 dans cette formule) et sans tenir compte des valeurs vides dans la colonne E pour le calcul de la moyenne .
J’avoue, cette formule découle de l’enregistreur (Ne me frapper pas SVP), suite à une aide de Monique.
Alors si un VBEiste pouvait me donner un coup de main….
D’ailleurs j’aimerai bien la même chose avec l’ecart type toujours dans les mêmes conditions…

D’avance merci.
 
A

arnaud

Guest
Salut :),

est tu sur que que la fonction Evaluate sert bien a ça (en fait ça description ds l'aide n'est pas très clair donc c pour ça que je me pose la question.. ds l'aide il est dis : "Cette méthode convertit un nom Microsoft Excel en un objet ou une valeur" )??? pkoi n'écris tu pas la formule dans la cellule au lieu d'eesayer d'écrire seulement le résultat ??
 
M

man

Guest
Bonjour Arnaud

je sais que cette fonction fonctionne avec des calculs de somme (je l'ai en macro) et quelle permet d'obtenir le résultat sans inscrire toute la formule dans la cellule afin de gagner en taille. Après ? ....

C'est pour cette raison de taille que j'y tiens (fichier de 1.4MO avec plus de 100 feuilles qui met deja 1 mn pour s'enregistrer avec un pentium 500 hertz).
 
A

arnaud

Guest
re,

a oui effectivement ça marche avec un Sum tout bête :)
Mais la côté formule excel j'y connai pas grand chose :(

mais en tout cas le plus simple pour débugger c que tu arrive a faire fonctionner ta formule dans une cellule car actuellement elle n'a pas l'air de fonctionner.. j'ai mis donc ça ds ma cellule car c cela que tu a mis ds ton evaluate: =SUMPRODUCT((month(B6:B65536)=9)*(year(B6:B65536)=2003)*(E6:E65536))/SUMPRODUCT((Month(B6:B65536)=9)*(year(B6:B65536)=2003)*(E6:E65536<>")

( déja il manque une paranthèse a la fin mais il y a surement autre chose )
 

Discussions similaires

Réponses
18
Affichages
1 K

Statistiques des forums

Discussions
314 162
Messages
2 106 601
Membres
109 637
dernier inscrit
lafforest