Microsoft 365 Copier les données filtrées

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 !

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour,

Je souhaite copier les données filtrées sur une nouvelles page (avec des en-têtes).
Voici mon code :
VB:
Set ws = ThisWorkbook.Sheets.Add(After:= _
             ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
    ws.Name = "supérieurs à 5%"
    
 Sheets("RESULTATS").Range("A1:AQ19000").Copy Destination:=Sheets(" supérieurs à 5%").Range("A1")

Je me demande comment indiquer la range à copier sans passer par le code en "dur" A1:AQ19000.
Merci pour votre aide !
 
Solution
Bonjour @VBA_dev_Anne_Marie

De ce que je comprends je te propose ceci

Dim Derlig&
Derlig = Range("AQ" & Rows.Count).End(xlUp).Row

Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = "supérieurs à 5%"

Sheets("RESULTATS").Range("A1:AQ" & Derlig).Copy Destination:=Sheets(" supérieurs à 5%").Range("A1")
Le principe on va cherché la dernière ligne utilisé de la colonne AQ (A modifier éventuellement) et on la met dans une variable. 😉

Merci de ton retour

@Phil69970
Bonjour @VBA_dev_Anne_Marie

De ce que je comprends je te propose ceci

Dim Derlig&
Derlig = Range("AQ" & Rows.Count).End(xlUp).Row

Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = "supérieurs à 5%"

Sheets("RESULTATS").Range("A1:AQ" & Derlig).Copy Destination:=Sheets(" supérieurs à 5%").Range("A1")
Le principe on va cherché la dernière ligne utilisé de la colonne AQ (A modifier éventuellement) et on la met dans une variable. 😉

Merci de ton retour

@Phil69970
 
Re
Bonjour @dysorthographie

Je crois que j'ai zappé le mot

données filtrées

VB:
Dim Derlig&

Set ws = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
ws.Name = "supérieurs à 5%"
    
With Sheets("RESULTATS")
    Derlig = .Range("A" & Rows.Count).End(xlUp).Row
    .Range("A1:AQ" & Derlig).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets(" supérieurs à 5%").Range("A1")
End With

@Phil69970
 
- 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
12
Affichages
874
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
365
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
7
Affichages
533
Réponses
5
Affichages
379
Réponses
3
Affichages
439
Retour