Filtrage et récuperation de somme de données
Bonjour ,
Encore merci pour tous les retours que je reçois.
Je veux effectuer un filtrage sur 2 feuilles d'un même classeur .Elles ont un unique point commun l'identifiant .
On veut filtrer dans le fichier 1 sur la colonne Portefeuille tous les éléments égale à 2
Sur le fichier 2 filtrer sur les colonnes famille_contrat (on veut 2) et les éléments de Secteur_quartier contenant 23,7,et 9
Au final je dois récupérer la somme sur la colonne Total montants des éléments obtenus après filtrage .
Sub Selection_zone_filtree()
Dim f1 As Worksheet, f2 As Worksheet
Dim DerLig_f1 As Long, DerLig_f2 As Long, NbVal As Long, i As Long
Dim d1 As Object
Application.ScreenUpdating = False
Set f1 = Sheets("Fichier1")
Set f2 = Sheets("Fichier2")
DerLig_f1 = f1.Range("B" & Rows.Count).End(xlUp).Row 'Dernière ligne de la feuille 1
DerLig_f2 = f2.Range("C" & Rows.Count).End(xlUp).Row 'Dernière ligne de la feuille 2
f1.Range("B2:H2").AutoFilter
f1.Range("B2:H" & DerLig_f1).AutoFilter Field:=3, Criteria1:="2"
f2.Range("C2:M2").AutoFilter
f2.Range("C2:M1" & DerLig_f2).AutoFilter Field:=8, Criteria1:="=2"
f2.Range("C2:M1" & DerLig_f2).AutoFilter Field:=6, Criteria1:="=*7", Operator:=xlOr, Criteria2:="=*23"
NbVal = f2.Range("_FilterDataBase").Resize(, 1).SpecialCells(xlCellTypeVisible).Count - 1
Set d1 = CreateObject("Scripting.dictionary")
For i = 2 To DerLig_f2
If f2.Rows(i).Height <> 0 Then
d1(CStr(f2.Range("C" & i).Value)) = ""
End If
Next
f1.Range("B2:F" & DerLig_f1).AutoFilter Field:=1, Criteria1:=d1.keys, Operator:=xlFilterValues
Set f1 = Nothing
Set f2 = Nothing
Set d1 = Nothing
End SubJ'ai ce code .
Seulement je n'arrive pas à obtenir le résultat attendu et mettre en place la somme Total montant .Par exemple si les 3 premières lignes sont le résultat du filtre il me faut recuperer la somme de leur montant .
Cordialement
Bonjour ,
Dans mon fichier les données ne sont pas réelles elle ont été crées à partir de Excel .
Cordialement