XL 2021 filtrer données puis envoi sur une autre feuille

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 !

cgpa

XLDnaute Occasionnel
Bonjour le Forum,
J'utilise un filtre à l'aide de l'outil "segment date" (facilité visuelle) pour pouvoir ensuite envoyer les données filtrées sur une autre feuille avec un bouton macro classique. Je ne veux pas travailler sur la feuille initiale.
Les données filtrées arrivent bien sur la nouvelle feuille, mais elles sont suivies par les données qui étaient masquées par le filtre!
Autrement dit, j'envoie toutes les données de la feuille initiale au lieu des données filtrées uniquement.
J'imagine un problème de code dans le module 4.
La feuille source = "Ventes" et la feuille de destination = "impression jour". J'ai bien essayé avec une requête, mais je ne sais pas comment dire à la requête qu'il faut filtrer avant.
Actuellement, je dois refiltrer sur la feuille finale pour impression. En plus, je constate que l'export prend du temps étant donné les milliers d'enregistrements de mon fichier.
Je propose un fichier allégé de tous les userforms et données personnelles.
Quelqu'un peut-il m'informer du code à appliquer pour n'envoyer que les données filtrées (le filtre porte sur la date)?
Merci d'avance et bonne journée!
 

Pièces jointes

Bonjour Cgpa,
Un exemple possible en PJ avec :
VB:
Sub Macro1()
    Sheets("Exemple").Cells.Clear                                   ' Effacement feuille Exemple
    Sheets("Ventes").Range("Tableau1Ventes").SpecialCells(xlCellTypeVisible).Copy    ' Copy des données visibles
    Sheets("Exemple").Select
    [A1].Select
    ActiveSheet.Paste                                               ' Collage des données visibles
    [A1].Select
End Sub
 

Pièces jointes

Bonjour Cgpa,
Un exemple possible en PJ avec :
VB:
Sub Macro1()
    Sheets("Exemple").Cells.Clear                                   ' Effacement feuille Exemple
    Sheets("Ventes").Range("Tableau1Ventes").SpecialCells(xlCellTypeVisible).Copy    ' Copy des données visibles
    Sheets("Exemple").Select
    [A1].Select
    ActiveSheet.Paste                                               ' Collage des données visibles
    [A1].Select
End Sub
Merci Sylvanu, je vais pouvoir avancer!
Comme je vais coller à un endroit bien précis, il me faudra supprimer les données présentes avant de coller. Comment remplacer " Sheets("Exemple").Cells.Clear" par le contenu du tableau?
Mon tableau de destination s'appelle Tableau1Ventes20
Bonjour Cgpa,
Un exemple possible en PJ avec :
VB:
Sub Macro1()
    Sheets("Exemple").Cells.Clear                                   ' Effacement feuille Exemple
    Sheets("Ventes").Range("Tableau1Ventes").SpecialCells(xlCellTypeVisible).Copy    ' Copy des données visibles
    Sheets("Exemple").Select
    [A1].Select
    ActiveSheet.Paste                                               ' Collage des données visibles
    [A1].Select
End Sub

j'ai trouvé ceci qui fonctionne:
Public Sub Reset_data()
With ActiveSheet.ListObjects(1)
If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
End With
End Sub
 
- 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
16
Affichages
831
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
387
Retour