Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Couper le résultat d'un filtre

1 réponse
Avatar
SamyTerje
Bonjour,

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

J'ai d=E9j=E0 le d=E9but de mon bout de code VBA:

Columns("A:AC").Select
ActiveWorkbook.Names.Add Name:=3D"DataBase", RefersToR1C1:=3D _
"=3D'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:=3DRange("DataBase"), SortOn:=3DxlSortOnValues,
Order:=3DxlAscending, _
DataOption:=3DxlSortNormal
ActiveSheet.Range("DataBase").AutoFilter Field:=3D6,
Criteria1:=3D"Sorti"
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Range(Selection, Cells(1)).Select
Selection.Cut

Mon soucis vient des 3 derni=E8res lignes avant le CUT ! Je n'arrive pas
=E0 s=E9lectioner seulement les lignes r=E9sultats sans l'ent=EAte et sans =
les
lignes qui ne r=E9pondent pas =E0 mon crit=E8re de filtre.

Merci d'avance pour vos id=E9es.
Cordialement,
Samuel

1 réponse

Avatar
michdenis
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" a écrit dans le message de news:

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