Bonjour les amis,

J'ai réalisé la formule SOMME.SI.ENS sur excel qui a marché correctement, sauf qu'après je voulais passer par VBA pour faire le calcul.
Donc j'ai essayé de reformuler ma formule pour qu'elle puisse marcher sur VBA mais sa bug.
Voica ma formule sur Excel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SOMME.SI.ENS(Feuil1!$K:$K;Feuil1!$B:$B;Feuil4!$A$1;Feuil1!$C:$C;Feuil4!$A$2;Feuil1!$I:$I;"<>TTM RUNGIS";Feuil1!$I:$I;"<>*POMONA*";Feuil1!$F:$F;"=1";Feuil1!$K:$K;">0")+SOMME.SI.ENS(Feuil1!$K:$K;Feuil1!$B:$B;Feuil4!$A$1;Feuil1!$C:$C;Feuil4!$A$3;Feuil1!$I:$I;"<>TTM RUNGIS";Feuil1!$I:$I;"<>*POMONA*";Feuil1!$E:$E*";Feuil1!$F:$F;"=1";Feuil1!$K:$K;">0")
La partie que j'ai mis en rouge c'est le numéro de la semaine, qui sera saisi par l'utilisateur ==> NumSemaine sur mon code VBA

Et voici ma formule sur VBA :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveSheet.Range("B6").Value = Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("k:k"), Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A2"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>*POMONA*"), Worksheets("SAGE").Range("F:F"), "NumSemaine", Worksheets("SAGE").Range("K:K"), ">0") + Application.WorksheetFunction.SumIfs(Worksheets("SAGE").Range("k:k"), Worksheets("SAGE").Range("B:B"), Worksheets("TERMES").Range("A1"), Worksheets("SAGE").Range("C:C"), Worksheets("TERMES").Range("A3"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>A4"), Worksheets("SAGE").Range("I:I"), Worksheets("TERMES").Range("<>*POMONA*"), Worksheets("SAGE").Range("F:F"), "NumSemaine", Worksheets("SAGE").Range("K:K"), ">0")
Merci d'avance.