Apllication de deux filtre avancé à la suite
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je voudrais simplement appliquer deux filtres avancés de suite, quelque chose dans ce genre:
Range("A2:A1876").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("AA2:AA3"), Unique:=False
Range("B2:B1846").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
En gros, poser un filtre sur la colonne A puis enlever les doublons en ne se basant que sur la colonne B.
Peut-être qu'il y a un moyen de mettre un "AND" entre les deux filtres.. ou peut-être utiliser la plage de critère (mais je ne vois pas comment)? ou finalement utiliser le Unique de l'AdvancedFilter de manière plus précise.
Merci d'avance,
A.+
Je voudrais simplement appliquer deux filtres avancés de suite, quelque chose dans ce genre:
Range("A2:A1876").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("AA2:AA3"), Unique:=False
Range("B2:B1846").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
En gros, poser un filtre sur la colonne A puis enlever les doublons en ne se basant que sur la colonne B.
Peut-être qu'il y a un moyen de mettre un "AND" entre les deux filtres.. ou peut-être utiliser la plage de critère (mais je ne vois pas comment)? ou finalement utiliser le Unique de l'AdvancedFilter de manière plus précise.
Merci d'avance,
A.+
A voir également:
- Apllication de deux filtre avancé à la suite
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Filtre whatsapp - Accueil - Messagerie instantanée
2 réponses
Voila la solution que j'ai trouvé et qui marche, mais c'est très lent....
Range("A2:A1845").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("AA2:AA3"), Unique:=False
For Each ligne In Range("A2:A1845").SpecialCells(xlCellTypeVisible).Rows
numéro = ligne.Row
ki = ki + 1
Range("B" & numéro).Copy
Range("AB" & ki).Select
ActiveSheet.Paste
End If
Next ligne
ActiveSheet.ShowAllData
Range("AB2:AB1845").Copy
Sheets("Feuil2").Select
Cells.Clear
Range("A1").Select
ActiveSheet.Paste
Range("A2:A1845").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
En gros je filtre, copie le résultat dans une nouvelle colonne, puis copie la colonne sur une nouvelle feuille et finalement j'enlève les doublons sur cette nouvelle feuille...
Étonnamment, si je ne copie pas sur une nouvelle feuille ça ne marche pas....
Si quelqu'un a plus rapide, je suis preneur car c'est vraiment lent.... (genre 30 secondes pour un fichier de base avec 1800 lignes)
Range("A2:A1845").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("AA2:AA3"), Unique:=False
For Each ligne In Range("A2:A1845").SpecialCells(xlCellTypeVisible).Rows
numéro = ligne.Row
ki = ki + 1
Range("B" & numéro).Copy
Range("AB" & ki).Select
ActiveSheet.Paste
End If
Next ligne
ActiveSheet.ShowAllData
Range("AB2:AB1845").Copy
Sheets("Feuil2").Select
Cells.Clear
Range("A1").Select
ActiveSheet.Paste
Range("A2:A1845").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
En gros je filtre, copie le résultat dans une nouvelle colonne, puis copie la colonne sur une nouvelle feuille et finalement j'enlève les doublons sur cette nouvelle feuille...
Étonnamment, si je ne copie pas sur une nouvelle feuille ça ne marche pas....
Si quelqu'un a plus rapide, je suis preneur car c'est vraiment lent.... (genre 30 secondes pour un fichier de base avec 1800 lignes)