Compter avec critères sur 2 tableaux [Résolu]

nono159

XLDnaute Nouveau
Bonjour à tous,

Je dois compter le nombre d'intervention (NI) effectués par chaque collègue en 2014.

Une liste des interventions avec le le numéro de badge du collègue, le NI et le sous NI a été remplie en feuille 1.
Dans une seconde feuille, il est inscrit l'ensemble des NI et sous NI avec la date d'intervention.
Il faut savoir que plusieurs collègues peuvent intervenir sur la même intervention et qu'une intervention est caractérisé par le couple NI / sous NI.

Afin de compter ces interventions par collègue, j'ai tout éssayé : NB.SI.ENS, TCD, macro (test de 13000 x 8500 lignes lignes )... je n'y arrive pas :(

Vous trouverez ci-joint un petit fichier permettant de visualiser ma problématique

D'avance merci pour votre aide.
Nono ;)
 

Pièces jointes

  • Interventions exemple.xlsx
    96.2 KB · Affichages: 40
  • Interventions exemple.xlsx
    96.2 KB · Affichages: 41
  • Interventions exemple.xlsx
    96.2 KB · Affichages: 40
Dernière édition:

nono159

XLDnaute Nouveau
Re : Compter avec critères sur 2 tableaux

Merci pour vos réponses rapides !!

Ci joint un nouveau fichier en réponse à Anette.
 

Pièces jointes

  • Interventions exemple.xlsx
    100 KB · Affichages: 29
  • Interventions exemple.xlsx
    100 KB · Affichages: 34
  • Interventions exemple.xlsx
    100 KB · Affichages: 34

Annette

XLDnaute Occasionnel
Re : Compter avec critères sur 2 tableaux

Nono159,

Si je comprends bien vous souhaitez dénombrer le nombre d'interventions effectuées par agent en 2014 ?
Si oui, dans votre feuille 3, je dénombre au premier coup d'oeil que l'agent 5803115J a effectué 6 interventions et vous vous n'en dénombrez que 3 etc ... :confused:.
J'aurais mal compris votre demande ?

Cordialement
 

Paf

XLDnaute Barbatruc
Re : Compter avec critères sur 2 tableaux

Bonjour à tous

Un essai de code qui,a priori fonctionne:

Code:
Sub nono159()
 Dim Ws1 As Worksheet, Ws2 As Worksheet, MonDico, TabBadge, TabDate, i, j
 Dim DerLig1, DerLig2, MonAnnée

 Set Ws1 = Worksheets("Feuil1")
 Set Ws2 = Worksheets("Feuil2")
 Set MonDico = CreateObject("Scripting.Dictionary")

 MonAnnée = 2014

 DerLig1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
 DerLig2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row

 TabBadge = Ws1.Range("A2:C" & DerLig1)
 TabDate = Ws2.Range("A2:I" & DerLig2)


 For i = LBound(TabBadge) To UBound(TabBadge)
    For j = LBound(TabDate) To UBound(TabDate)
        If TabBadge(i, 2) = TabDate(j, 1) Then
            If TabBadge(i, 3) = TabDate(j, 2) Then
                If Year(TabDate(j, 9)) = MonAnnée Then
                    MonDico(TabBadge(i, 1)) = MonDico(TabBadge(i, 1)) + 1
                End If
            End If
        End If
    Next
 Next
    
 Ws1.Range("F2").Resize(MonDico.Count) = Application.Transpose(MonDico.keys)
 Ws1.Range("G2").Resize(MonDico.Count) = Application.Transpose(MonDico.items)

End Sub


Le résultat est copié en feuille Feuil1 colonnes F et G

A+
 

nono159

XLDnaute Nouveau
Re : Compter avec critères sur 2 tableaux [Résolu]

Salut tout le monde,

Un grand merci à Paf qui a résolu mon problème, en effet, le code fonctionne parfaitement ! :eek:

Merci également à Annette et à toutes les personnes qui ont chercher des solutions.

A+
 

Statistiques des forums

Discussions
312 220
Messages
2 086 381
Membres
103 199
dernier inscrit
ATS1