SOMMEPROD en VBA

  • Initiateur de la discussion 4Roses
  • Date de début
4

4Roses

Guest
Bonjour le forum,

J'ai consulté le forum sur la fonction SOMMEPROD et j'ai appris plein de choses sur cette fonction dans les feuilles de calcul.

J'aimerai utiliser dans VBA cette fonction et je n'y arrive pas.

Par exemple,
dans range("A2:A10") j'ai des Mesdates
dans range("B2:B10") j'ai MesMontants

en A1, j'ai la date du jour

Dans ma feuille de calcul je troubve en C1:
range("C1")=SOMMEPROD((ANNEE(range("A2:A10"))=2004)*(range("B2:B10") >10))

Je voudrais dans une macro retrouver ce résultat

J'ai essayé:


sub MaMacro()
set MesDates=range("A2:A10")
set MesMontants=range("B2:B10")

MonRésultat=application.worksheetfunction.sumproduct(year(MesDates)=2004,MesMontants>10)
end sub

et la macro bug


Toutes les aides ne parlent que cette fonction dans une feuille de calcul mais dans VBA

Quelle est la synthaxe de sommproduct dans VBA ??

Merci d'avance ...
 
4

4Roses

Guest
Ok pour écrire la fromule dans la cellule C1;

Mais j'aimerai avoir le résultat dans VBA dans la variable MonRésultat sans passer par la feuille de calcul

Merci qaund même pour ta rapidité !
 
M

Mytå

Guest
Re 4Roses

Regarde si cela te conviendrais avec la fonction Evaluate

Resultat_1 = Evaluate("SUMPRODUCT((YEAR(A2:A10)=2004)*(B2:B10>10))")

Resultat_2 = [SUMPRODUCT((YEAR(A2:A10)=2004)*(B2:B10>10))]

Resterais a nommer les plages A2:A10 et B2:B10 (J'ai pas trouver)

Sinon ca fonctionne

Mytå
 

Discussions similaires

Réponses
12
Affichages
252

Statistiques des forums

Discussions
312 321
Messages
2 087 264
Membres
103 500
dernier inscrit
Suk Ram