Synthèse avec 2 critères (sans doublons)

tounsy

XLDnaute Nouveau
Bonjour,

Je fais à nouveau appel à votre expertise... :)
J'ai un tableau excel comportant une liste d'établissements que l'on contrôle régulièrement pour financer des aides.
J'ai besoin de faire une synthèse de ces données (sans TCD), dans l'onglet résultat : j'ai donnée un exemple de résultat souhaité (onglet résultat).

Un établissement peut avoir plusieurs date de contrôle

En faite, je n'arrive pas à faire la synthèse par établissement et par date de contrôle... :confused:

Je vous remercie pour votre aide !
 

Pièces jointes

  • SyntheseVisites.xlsx
    15.6 KB · Affichages: 37

homepyrof53

XLDnaute Occasionnel
Re : Synthèse avec 2 critères (sans doublons)

Bonjour

Voici une macro

Code:
Sub essai()
Dim Tab_Datas
Set Tab_Datas = CreateObject("scripting.dictionary")
'  date,nbligne,nbanomalie

With Feuil1
    l = 2
    While .Cells(l, 1) <> ""
        cle = Trim(.Cells(l, 1))
        d1 = .Cells(l, 6)
        tmp1 = 0
        If .Cells(l, 7) = "O" Then tmp1 = 1
        If Tab_Datas.exists(cle) = False Then
            Tab_Datas(cle) = Array(d1, 1, tmp1)
        Else
            tmp = Tab_Datas(cle)
            tmp(0) = d1
            tmp(1) = tmp(1) + 1
            tmp(2) = tmp(2) + tmp1
            Tab_Datas(cle) = tmp
        End If
    
        l = l + 1
    Wend
End With
'====================================
'      ecriture resultat
'====================================
Feuil2.Select
l = 2
For Each cle In Tab_Datas
    Cells(l, 1) = cle
    tmp = Tab_Datas(cle)
    Cells(l, 2) = tmp(0)
    Cells(l, 3) = tmp(1)
    Cells(l, 4) = tmp(2)
    l = l + 1
Next


End Sub
 

titiborregan5

XLDnaute Accro
Re : Synthèse avec 2 critères (sans doublons)

Bonjour tounsy, le forum
le filtre avancé va te permettre de faire précisément ce que tu recherches!!!

Avec une petite macro ça fait ce que tu veux... ;) dis moi si ça te va!
 

Pièces jointes

  • SyntheseVisites titiborregan.xls
    86 KB · Affichages: 32

Monique

Nous a quitté
Repose en paix
Re : Synthèse avec 2 critères (sans doublons)

Bonjour,
Une autre méthode : par formules
Tu as le choix entre deux tableaux (plus ou moins complets)
1 formule matricielle dans le 1er tableau, 2 dans le deuxième.
 

Pièces jointes

  • SyntheseVisitesTounsy.xlsx
    22.1 KB · Affichages: 50

tounsy

XLDnaute Nouveau
Re : Synthèse avec 2 critères (sans doublons)

La macro de titiborregan semble le plus correspondre à mes besoins :

Sub f()
With Sheets(3)
'.Range("a10").CurrentRegion.Clear
.Range("a1") = "Etabliss."
.Range("b1") = "Date contrôle aide"
.Range("c1") = "Nbre de ligne"
.Range("d1") = "Nbre de ligne en anomalie"


Sheets(1).Range("a1").CurrentRegion.AdvancedFilter xlFilterCopy, , .Range("a1:b1"), True
For j = 2 To Sheets(1).Range("a65000").End(xlUp).Row
Sheets(1).Cells(j, 9) = Sheets(1).Cells(j, 1) & Sheets(1).Cells(j, 6)
Sheets(1).Cells(j, 10) = Sheets(1).Cells(j, 1) & Sheets(1).Cells(j, 6) & Sheets(1).Cells(j, 7)

Next
For i = 2 To Range("a65000").End(xlUp).Row
'mettre macro nombre.si.ens

r = .Cells(i, 1) & .Cells(i, 2).Value
s = .Cells(i, 1) & .Cells(i, 2).Value & "O"
t = .Cells(i, 1) & .Cells(i, 2).Value & .Cells(i, 3).Value
.Cells(i, 3) = Application.CountIf(Sheets(1).Range("i:i"), r)
.Cells(i, 4) = Application.CountIf(Sheets(1).Range("j:j"), s)
Next
Sheets(1).Range("i:j").ClearContents

End With

End Sub


En revanche, je souhaite la faire évoluer (en rajoutant des colonnes) mais j'ai du mal à comprendre ce qu'elle fait...
J'ai cru comprendre qu'il s'agissait de concaténer des cellules dans les colonnes I et J mais je ne comprends pas du tout ce code:confused:

Quelqu'un pourrait-il me l'expliquer ?

Merci encore !:D
 

titiborregan5

XLDnaute Accro
Re : Synthèse avec 2 critères (sans doublons)

Re,
effectivement j'ai concaténé afin de faire des recherches avec plusieurs critères... (en 1er etablissement et date et en 2ème établissement date et N pour faire les sommes...)

Quelles colonnes souhaites tu rajouter?
Connais-tu le filtre avancé? (utilisé en 1ère partie de macro via le advancedfilter!)
 

tounsy

XLDnaute Nouveau
Re : Synthèse avec 2 critères (sans doublons)

merci pour ton retour ;-)
En faite j'ai 2 lignes que je n'arrive pas à comprendre :
.Range("a10").CurrentRegion.Clear ' tu effaces quoi exactement ?
et
Sheets(1).Range("a1").CurrentRegion.AdvancedFilter xlFilterCopy, , .Range("a10:b10"), True 'Tu fais quoi là exactement ?

Merci encore !
 

titiborregan5

XLDnaute Accro
Re : Synthèse avec 2 critères (sans doublons)

Re,
currentregion équivaut à Ctrl+*, ce qui permet de sélectionner un tableau complet (essaie ce sera plus parlant).

La 2ème ligne correspond à un filtre avancé (très pratique).

Renseigne toi sur le filtre avancé après ce sera plus simple!
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 926
Membres
103 984
dernier inscrit
maliko67