copier la plage une fois filtré

  • Initiateur de la discussion Initiateur de la discussion bansan
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bansan

XLDnaute Junior
Bonjour
J'aimerais copier la selection de ligne une fois que mon filtre a été fait, or je n'y arrive pas en VBA et a chaque fois il me compte toutes les lignes..
est ce que qqun aurait une idée de comment faire??

Range("B4:I4").AutoFilter
Selection.AutoFilter Field:=8, Criteria1:= _
nomchantier, Operator:=xlAnd
Cells.UnMerge
nblignes = Range("B5:B" & Range("B8000").End(xlUp).Row).SpecialCells(xlVisible).Count
Range("B5:F" & nblignes).SpecialCells(xlVisible).Select

Selection.Copy
Windows(nomfichiergestion).Activate
Cells(5, 8 + i * 7).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range(Cells(2, 8 + i * 7), Cells(2, 13 + i * 7)).UnMerge
Range(Cells(2, 8 + i * 7), Cells(2, 13 + i * 7)).Merge
Cells(2, 8 + i * 7).Value = "Exercice du 1er octobre " & anneedebutchantier & " au 30 septembre " & anneedebutchantier + 1
 
Re : copier la plage une fois filtré

Bonjour


Voici un exemple (à adapter)

Recopie de la plage filtrée sur la feuill2 (avec entete )
Code:
Sub test_avec_entete()
Range("A1").AutoFilter Field:=1, Criteria1:="toto"
[B] ActiveSheet.AutoFilter.Range.Copy[/B] Sheets(2).Range("A1")
End Sub

Recopie de la plage filtrée sur la feuill2 (sans entete )
Code:
Sub test_sans_entetes()
Dim PLG_FIL As Range
Range("A1").AutoFilter Field:=1, Criteria1:="toto"
Set PLG_FIL = ActiveSheet.AutoFilter.Range
PLG_FIL.Offset(1, 0).Resize(PLG_FIL.Rows.Count - 1, 1).Copy Sheets(2).Range("A1")
End Sub
 
Re : copier la plage une fois filtré

Bonjour et merci pour votre aide
Le petit souci c'est que j'aimerais copier la selection que le filtre m'a donné et les transposer dans un autre classeur a partir d'un emplacement bien prcis (d'où les cells(...) que j'ai mis dans mon code

J'ai essayé ta solution JM et ..elle ne marche pas...elle me copie tout une fois qu'elle est transporté vers l'autre classeur...

"ActiveSheet.AutoFilter.Range.Copy Sheets(2).Range("A1")"

J'essaie la solution de JB ..
Merci

, je reviens
 
Re : copier la plage une fois filtré

Re


Exemple pour récupérer la colonne 3 de la plage filtrée (méthode JB)
Code:
Range("_FilterDataBase").Columns([COLOR=Blue][B]3[/B][/COLOR]).SpecialCells(xlCellTypeVisible).Copy Sheets(2).[A1]
Autre syntaxe: ici pour copier la colonne 2
Code:
ActiveSheet.AutoFilter.Range.Columns([B]2[/B]).Copy Sheets(2).[A1]

Pour récupérer les colonnes A et B
Code:
ActiveSheet.AutoFilter.Range.Columns("A:B").Copy Sheets(2).[A1]
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
184
Réponses
2
Affichages
285
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
652
Réponses
9
Affichages
895
Retour