Erreur #VALEUR! avec la méthode EVALUATE + IF/SUMPRODUCT
Bonjour à tous
Je sollicite vos conseils car la macro ci-dessous qui s'appuie sur des fonctions excel Si + SOMMEPROD imbriquées me retourne l'erreur #VALEUR! dans ma colonne résultat lorsque j'applique la méthode Application.Evaluate.
Si je n'applique Evaluate, les résultats retournés (avec la formule!) sont bons mais, compte tenu du nombre d'imbrications SI/SOMMEPROD et du nombre de lignes (10 000) à traiter, le fichier devient presque inutilisable car trop lourd.
Ci-dessous mon code . Je vous remercie par avance de votre aide :)
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
Private Sub Boucle()
Dim i As Long
i = Range("B2").End(xlDown).Row
Sheets("CDMAJORA =1").Range("C2").Formula = Application.Evaluate("=IF(SUMPRODUCT((B$2:B$» & i & «=B2)*(L$2:L$» & i & «=""CAVAMAC"")*(O$2:O$» & i & «=""R1001 "")*(Q$2:Q$» & i & «=""N"")*1)<>0,""RAF"", IF(AND(SUMPRODUCT((B$2:B$» & i & «=B2)*(L$2:L$» & i & «=""CAVAMAC"")*(J$2:J$» & i & «=""RIV"")*(O$2:O$» & i & «=""R1001 "")*(Q$2:Q$» & i & «=""A"")*1)<>0, SUMPRODUCT((B$2:B$» & i & «=B2)*(L$2:L$» & i & «<>""CAVAMAC"")*(O$2:O$» & i & «=""R1001 "")*(U$2:U$» & i & «=2))=0),""RAF"",IF(SUMPRODUCT((B$2:B$» & i & «=B2)*(AR$2:AR$» & i & «=""Nb de CIPREG erroné "")*1)<>0,""RAF"",IF(SUMPRODUCT((B$2:B$» & i & «=B2)*(L$2:L$» & i & «=""CAVAMAC"")*(O$2:O$» & i & «=""R1001 "")*((J$2:J$» & i & «=""ACC"")+(J$2:J$» & i & «=""""))*1)<>0, ""RAF"", IF(SUMPRODUCT((B$2:B$» & i & «=B2)*(L$2:L$» & i & «=""CAVAMAC"")*(M$2:M$» & i & «<>1110000000)*(M$2:M$» & i & «<>1100000000))<>0,""RAF"","""")))))")
Sheets("CDMAJORA =1").Range("C2").AutoFill Destination:=Sheets("CDMAJORA =1").Range("C$2:C" & i & "")
End sub |