Additionner plusieurs colonnes avec une condition en code VBA

Bonjour à tous!

Je cherche comment pourvoir additionner plusieurs colonnes suivant une condition.

J'ai essayé ce code :

Sheets("Facturation").Range("J24").Value = _
WorksheetFunction.SumIfs(Sheets("SaveChannel").Range("C2:C50000"), Sheets("SaveChannel").Range("B2:B50000"), Sheets("Facturation").Range("J11")) + _
WorksheetFunction.SumIfs(Sheets("SaveChannel").Range("J2:J50000"), Sheets("SaveChannel").Range("B2:B50000"), Sheets("Facturation").Range("J11")) + _
WorksheetFunction.SumIfs(Sheets("SaveChannel").Range("Q2:Q50000"), Sheets("SaveChannel").Range("B2:B50000"), Sheets("Facturation").Range("J11")) + _
WorksheetFunction.SumIfs(Sheets("SaveChannel").Range("XC2:X50000"), Sheets("SaveChannel").Range("B2:B50000"), Sheets("Facturation").Range("J11"))

Mais sans résultat, ce code :

Sheets("Facturation").Range("J24").Value = _
WorksheetFunction.SumIfs(Sheets("SaveChannel").Range("C2:C50000")+ _
Sheets("SaveChannel").Range("J2:J50000")+ _
Sheets("SaveChannel").Range("Q2:Q50000")+ _
Sheets("SaveChannel").Range("XC2:X50000"), _ 
Sheets("SaveChannel").Range("B2:B50000"), Sheets("Facturation").Range("J11"))

mais sans résultat, je pense qu'il faudrait mettre quelque chose comme "sum" avant l''addition, mais sans résultat non plus!

Si quelqu'un à une idée, elle est la bienvenue !

A+

RQ

Bonjour

A tester

Sheets("Facturation").Range("J24").Value = _
    Application.WorksheetFunction.SumProduct((Sheets("SaveChannel").Range("B2:B50000") = Sheets("Facturation").Range("J11")) * _
    (Sheets("SaveChannel").Range("C2:C50000") + _
     Sheets("SaveChannel").Range("J2:J50000") + _
     Sheets("SaveChannel").Range("Q2:Q50000") + _
     Sheets("SaveChannel").Range("XC2:X50000")))

Bonjour,

Mais pourquoi vouloir mettre en place une formule par VBA ?

Oubliez VBA et faites plus simple, mettez une formule SOMME.SI en J24. (Pas besoin de Somme.si.ens si j'ai compris ce que vous cherchez)

Vous aurez l'avantage de pouvoir la modifier si besoin plutôt que de devoir analyser les codes en cas de changement

=SOMME.SI(Savechannel!C2:C50000;J11)+SOMME.SI(Savechannel!Q2:Q50000;J11)+SOMME.SI(Savechannel!J2:J50000;J11)+SOMME.SI(Savechannel!XC2:XC50000;J11)+SOMME.SI(Savechannel!B2:B50000;J11)

NB : après il n'est peut être pas nécessaire d'aller jusque la ligne 50000 (à voir avec votre fichier). A votre place j'essayerai de travailler en définissant une plage et de l'incorporer dans votre formule


@Job7915 :
Attention avec la formule sommeprod qui est une formule Matricielle. Et là sur un calcul sur 50000 lignes à travers 6 colonnes, Excel va ramer à coup sûr

Cordialement

Hello,

Mais pourquoi vouloir mettre en place une formule par VBA ?

je plussoie

Les macros c'est super pour faire ce que ne sait pas faire Excel nativement, mais les formules, c'est quand même ça plus grande force, non ?

Rechercher des sujets similaires à "additionner colonnes condition code vba"