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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <mennetrier@gmail.com> a écrit dans le message de news:
c4618e91-8b4a-4b04-8355-1dee787a4eba@o40g2000prn.googlegroups.com...
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
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