Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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...

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

Quelqu'un pourrait-il me l'expliquer ?

Merci encore !
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…