Sumproduct

  • Initiateur de la discussion Boyboy
  • Date de début
B

Boyboy

Guest
Bonjour @ tout le forum,

je cherche désespérément à 'traduire' la fameuse formule 'SOMMEPROD' en VBA.
normalement ce serait 'SUMPRODUCT'... mais non ça ne fonctionne pas pareil :unsure:

voici mon exemple :

WorksheetFunction.SumProduct((Sheets('505').Range('E2:E30000') = IdMoe)*(Sheets('505').Range('C2:C30000') = 'Courant')*(Sheets('505').Range('D2:D30000') = CC), Sheets('505').Range('G2:G30000'))

cela ne fonctionne pas et me renvoie 0.

J'ai essayé aussi d'autre façon de faire comme la suivante :
Evaluate('=Sumproduct(('505'!E2:E30000=''' & IdMoe & ''')*('505'!C2:C30000=''Courant'')*('505'!D2:D30000=''' & CC & '''),'505'!G2:G30000)')
et cela ne fonctionne pas non plus...

quelqu'un pourrait-il m'aider?
Merci d'avance. :)

Boyboy
 

Darnel

XLDnaute Impliqué
salut,

une petite astuce que j'utilise pour trouver des traductions en vba : je passe l'enregistreur en mode enregistrer et pendant qu'il enregistre, tu tappe la formule dans une cellule, et après tu regarde le code que ca t'a donner...



voilà bon courage

Message édité par: darnel, à: 11/04/2006 10:11
 
B

Boyboy

Guest
Bonjour Darnel,

je te remercie beaucoup pour ta réponse, mais ce que je souhaite n'est pas de positionner cette formule via un code vba, mais plutôt de calculer le résultat directement par VBA et ensuite mettre ce résultat dans une cellule Excel.

Merci quand même.

Si quelqu'un a une autre idée, je suis preneur. :)
 

Darnel

XLDnaute Impliqué
re

j'avais compris, mais je te proposai de faire ainsi pour copier la formule écrite en vba.
si sur la feuille il n'y a pas d'erreur et que le resultat est bon, ca devrai passer en vba (en reprennant la trraduction obtenue comme je te l'ai indiqué) si ca ne marche pas je voi pas bien, parceque je suis pas assez doué dans le vba

bonne chance et a+
 

Statistiques des forums

Discussions
312 237
Messages
2 086 486
Membres
103 232
dernier inscrit
logan035