XL 2013 COUNTIFS et argument date VBA

anass1

XLDnaute Junior
Bonjour à toutes et tous ;

J'ai besoin de calculer le nombre de jours présents dans une liste entre deux dates;
La formule NB.SI.ENS me donne le bon résultat;
Si je transpose en Vba en utilisant WorksheetFunction.CountIfs, j'ai la valeur 20 comme résultat .
Merci
VB:
Range("D4") = Application.WorksheetFunction.CountIfs(Columns(1), ">=01/01/2020", Columns(2), "A", Columns(1), "<=10/01/2020")
Sans titre2.png
 

Pièces jointes

  • 1.xlsm
    17.2 KB · Affichages: 7
Solution
Bonsoir Anass,
En PJ une solution avec :
VB:
Sub nbsi()
    Datemin = "1 / 1 / 2020"
    Datemax = "10 / 1 / 2020"
    Range("D4") = Application.CountIfs(Range("A:A"), ">=" & Format(Datemin, "mm/dd/yy"), Range("A:A"), _
            "<=" & Format(Datemax, "mm/dd/yy"), Range("B:B"), "A")
End Sub
Le passage de paramètre se fait en format Date.

C'est très amusant, un fil a traité le même sujet il y a quelques minutes mais sur un filtre automatique :

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Anass,
En PJ une solution avec :
VB:
Sub nbsi()
    Datemin = "1 / 1 / 2020"
    Datemax = "10 / 1 / 2020"
    Range("D4") = Application.CountIfs(Range("A:A"), ">=" & Format(Datemin, "mm/dd/yy"), Range("A:A"), _
            "<=" & Format(Datemax, "mm/dd/yy"), Range("B:B"), "A")
End Sub
Le passage de paramètre se fait en format Date.

C'est très amusant, un fil a traité le même sujet il y a quelques minutes mais sur un filtre automatique :
 

Pièces jointes

  • Anass.xlsm
    20 KB · Affichages: 7

Discussions similaires