Copie après filtre

Bonsoir,

Sur une feuille, je dispose d'un certain nombre de colonnes correspondant à des catégories.

Via une macro, j'applique un filtre sur l'une des colonnes (AutoFilter) sur un critère particulier. Jusque là tout va bien.

Par la suite, je souhaiterais pouvoir copier l'ensemble de la feuille, mais en ne considérant que les lignes pour lesquelles le filtre a été appliqué. Je ne parviens pas à le faire en VBA. A chaque fois que je copie/colle, je me retrouve l'ensemble des lignes de collées, comme si le filtre n'avait pas été appliqué.

Pourriez-vous m'indiquer la façon de procéder svp ?

Merci d'avance.

Bonsoir

Voici un bout de macro

Sub test()

Dim choix As Range

Set choix = Range("_FilterDatabase")

If WorksheetFunction.Subtotal(3, choix.Offset(1).Resize(choix.Rows.Count - 1, 1)) > 0 Then

choix.Offset(1).Resize(choix.Rows.Count - 1).Copy Sheets("Feuil2").Range("A2")

End If

End Sub

la on filtre sur la premiere feuille, on click sur le bouton et c'est copié sur la seconde (feuil2 )

Bonsoir CB60,

Merci pour ta réponse ! Cependant, je ne comprends pas bien comment agit le code, et je ne parviens pas à l'adapter au mien.

Voici mon bout de code auquel je souhaiterais rajouter le tien :

Sheets("Feuil1").Select
Range("A1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$P$100").AutoFilter Field:=5, Criteria1:="Red"

Comment l'adapter à ton avis ?

Merci à toi.

Bonsoir

Avec un petit fichier l'adaptation serait plus facile

Edit un petit fichier exemple

Bonsoir

Un essai :

Sub Copie()
With Sheets("Feuil1")
.Range("A1").AutoFilter Field:=5, Criteria1:="Red"
.Range("A1:P100").SpecialCells(xlCellTypeVisible).Copy Sheets("Feuil2").Range("A1")
End With
End Sub

Amicalement

Nad

Merci à tous les deux pour votre aide, précieuse, ça semble fonctionner !

Rechercher des sujets similaires à "copie filtre"