XL 2013 Somme conditionnelle sur 2 colonnes en vba

fb62840

XLDnaute Impliqué
Bonjour,

Je suis embarrassé car je dois faire une somme conditionnelle en vérifiant sur toutes les feuilles d'un classeur (avec plus de 100 feuilles qui ont la même structure) si les cellules en colonne C et en colonne F contiennent, pour la Colonne C la valeur "ROSE" et pour la colonne F la valeur "HYB" et, si c'est le cas alors valoriser à 1 et faire la somme des 1 pour toutes les cellules qui en colonne C et en colonne F contiennent les valeurs critères dans toutes les feuilles à l'exception de la feuille "CONSO".

Je n'y arrive pas avec un dénombrement conditionnel par formule (trop nombreux onglets) et il me faudrait alors votre aide pour obtenir une solution en vba.

Merci beaucoup
 

fb62840

XLDnaute Impliqué
Re bonjour à tous.
Bien vu ChTi160,
Voici donc le code corrigé
VB:
Sub Compte2()
    Dim N%: R = 0
    For Each F In Worksheets
        If F.Name <> "CONSO" Then
            R = R + Sheets(F.Name).Evaluate("=SUMPRODUCT((C2:C1000=""ROSE"")*(F2:F1000=""HYB""))")
        End If
    Next F
    [A1] = R
End Sub
@+ Lolote83
Un énorme merci, il semble bien désormais que ça fonctionne, merci à vous deux pour votre aide,
bonne journée
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
Effectivement, après des tests, il semble que si on met dans la formule le nom de l'onglet cela fonctionne
VB:
    R = R + Evaluate("=SUMPRODUCT((" & F.Name & "!C2:C1000=""ROSE"")*(" & F.Name & "!F2:F1000=""HYB""))")
@+ Lolote83
 

Discussions similaires

Réponses
6
Affichages
101

Statistiques des forums

Discussions
311 729
Messages
2 081 971
Membres
101 852
dernier inscrit
dthi16088