Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sumproduct avec superieur ou égal

CHRISTOPHEAGPM

XLDnaute Nouveau
Bonjour le forum,

L'un d'entre vous peut t'il m'expliquer comment transformer la dernière partie de la formule suivante en code VBA ?


Code:
=SOMMEPROD((récapitulatif!$G$10:$G$1099='Production HA & Fam'!F$3)*(récapitulatif!$I$10:$I$1099='Production HA & Fam'!$C7)*(récapitulatif!$H$10:$H$1099='Production HA & Fam'!$B$4)*(récapitulatif!$BH$10:$BH$1099>=1))


En sachant que :

Code:
    Dim rng As Range, M As Integer

    With Worksheets("récapitulatif")
    
    M = .Range("G10").End(xlUp).Row
       
        
        Set rng = .Range("G1099:G" & M)
        rng.Name = "ColG"
        Set rng = .Range("I1099:I" & M)
        rng.Name = "ColI"
        Set rng = .Range("H1099:H" & M)
        rng.Name = "ColH"
        Set rng = .Range("BH1099:BH" & M)
        rng.Name = "ColBH"




Je bute sur la partie

Code:
(récapitulatif!$BH$10:$BH$1099>=1))

Pour le reste, grace à vous j'ai trouvé la solution suivante (avec une boucle) :

Code:
 E = .Range("f3"): C = .Range("C" & L)
            .Cells(L, 6) = Evaluate("sumproduct((ColG=""" & E & """)*(ColI=""" & C & """)*(ColH=""" & B & """))")
 

Bebere

XLDnaute Barbatruc
Re : sumproduct avec superieur ou égal

bonjour Christophe
essaye ce qui suit

Code:
  With Worksheets("récapitulatif")
    M = .Range("G10").End(xlUp).Row
        Set rng = .Range("G10:G" & M)
        rng.Name = "ColG"
        Set rng = .Range("I10:I" & M)
        rng.Name = "ColI"
        Set rng = .Range("H10:H" & M)
        rng.Name = "ColH"
        Set rng = .Range("BH10:BH" & M)
        rng.Name = "ColBH"
End With
critere1 = Worksheets("Production HA & Fam").Range("B4")
critere2 = Worksheets("Production HA & Fam").Range("C7")
critere3 = Worksheets("Production HA & Fam").Range("F3")
'si les critères sont numéric
s = Evaluate("SUMPRODUCT((colg =" & critere3 & ") * (coli =" & critere2 & ") * (colh =" & critere1 & ") * (colbh >= 1))")
'si les critères sont des chaînes
s = Evaluate("SUMPRODUCT((colg =""" & critere3 & """) * (coli =""" & critere2 & """) * (colh =""" & critere1 & """) * (colbh >= 1))")

à bientôt
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…