Convertir NB.SI.ENS vers CountIfS

Bonjour le forum

Voilà mon problème, j'ai réalisé un tableau (une base de donnée, Feuil1 du classeur), je souhaite maintenant effectuer une somme des services en fonction de 3 critère (Tableau dans la Feuil4). A savoir, le service, le service supérieur à une date et le service inférieur à une autre date.

Manuellement j'ai fait ce que je voulais avec :

=(NB.SI.ENS(Feuil1!$C:$C;$D3;Feuil1!$B:$B;">="&E$2;Feuil1!$B:$B;"<"&Feuil4!F$2))

Dans le fichier exemple il n'y a que quelque donnée mais dans mon fichier complet cela ralentit énormément le fichier ! C'est pourquoi je voudrais créer le même tableau seulement au moment où on en a besoins à l'aide de WorksheetFunction.CountIfs.

Pour l'exemple le tableau créé via VBA se fait dans la Feuil5 du classeur. Le soucis est que je n’obtient rien de concluent !! Voila ci dessous le code utilisé :

Private Sub CommandButton1_Click()
Dim f1 As Worksheet
Dim f2 As Worksheet
Dim C As Integer
Dim L As Integer

Set f1 = Feuil1
Set f2 = Feuil4

For L = 2 To 11
    For C = 5 To 16
            Feuil5.Cells(L, C) = WorksheetFunction.CountIfs(f1.Columns(3), f2.Cells(L + 1, 4), f1.Columns(2), ">=" & f2.Cells(2, C), f1.Columns(2), "<" & f2.Cells(2, C + 1))
    Next C
Next L

End Sub

Par avance, merci de l’intérêt porté au sujet

4exemple.xlsm (91.84 Ko)

Mon problème était tout bête, comme à chaque fois Excel n'arrivais pas à comparer les dates, du coup j'utilise Cdbl()

Rechercher des sujets similaires à "convertir ens countifs"