Couper le résultat d'un filtre

Le
SamyTerje
Bonjour,

J'ai un tableau que je filtre sur une valeur.
Je souhaite alors sélectionner ce résultat pour le couper et le coller
dans un nouvel onglet.

J'ai déjà le début de mon bout de code VBA:

Columns("A:AC").Select
ActiveWorkbook.Names.Add Name:="DataBase", RefersToR1C1:= _
"='PRESENTS FIN MOIS'!C1:C29"
Range("A1").Select
ActiveWorkbook.Worksheets("PRESENTS FIN
MOIS").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("PRESENTS FIN
MOIS").AutoFilter.Sort.SortFields.Add _
Key:=Range("DataBase"), SortOn:=xlSortOnValues,
Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveSheet.Range("DataBase").AutoFilter Field:=6,
Criteria1:="Sorti"
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Range(Selection, Cells(1)).Select
Selection.Cut

Mon soucis vient des 3 dernières lignes avant le CUT ! Je n'arrive pas
à sélectioner seulement les lignes résultats sans l'entête et sans =
les
lignes qui ne répondent pas à mon critère de filtre.

Merci d'avance pour vos idées.
Cordialement,
Samuel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #16538031
Lorsque ton filtre automatique est appliqué, tu peux
utiliser quelque chose comme ceci ... évidemment
tu dois adapter le nom des feuilles...

en ajout à ta procédure....

Sub CopiePlageFiltré()
With Worksheets("Feuil1").Range("_FilterDataBase")
'Redimensionne la plage filtrée afin de ne pas
'inclure la ligne d'en-tête dans le filtre
With .Offset(1).Resize(.Range("_FilterDataBase").Rows.Count - 1, _
.Range("_FilterDataBase").Columns.Count)
'Avec seulement les lignes visibles du résultat
With .SpecialCells(xlCellTypeVisible)
'copie vers la feuille de destination
.Copy Sheets("Feuil2").Range("A1")
'Supprime la totalité des lignes de
'la plage filtrée
.EntireRow.Delete
End With
End With
'Enlève le filtre et flèches du filtre sur la plage.
.AutoFilter
End With
End Sub




"SamyTerje"
Bonjour,

J'ai un tableau que je filtre sur une valeur.
Je souhaite alors sélectionner ce résultat pour le couper et le coller
dans un nouvel onglet.

J'ai déjà le début de mon bout de code VBA:

Columns("A:AC").Select
ActiveWorkbook.Names.Add Name:="DataBase", RefersToR1C1:= _
"='PRESENTS FIN MOIS'!C1:C29"
Range("A1").Select
ActiveWorkbook.Worksheets("PRESENTS FIN
MOIS").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("PRESENTS FIN
MOIS").AutoFilter.Sort.SortFields.Add _
Key:=Range("DataBase"), SortOn:=xlSortOnValues,
Order:=xlAscending, _
DataOption:=xlSortNormal
ActiveSheet.Range("DataBase").AutoFilter Field:=6,
Criteria1:="Sorti"
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Range(Selection, Cells(1)).Select
Selection.Cut

Mon soucis vient des 3 dernières lignes avant le CUT ! Je n'arrive pas
à sélectioner seulement les lignes résultats sans l'entête et sans les
lignes qui ne répondent pas à mon critère de filtre.

Merci d'avance pour vos idées.
Cordialement,
Samuel
Publicité
Poster une réponse
Anonyme