XL 2019 Copier coller des données filtrer sur une autre feuille

Cesar1275

XLDnaute Occasionnel
Bonjour à tous

Mon fichier comporte une macro qui extrait des données puis qui les filtre.

Je souhaiterais ajouter une macro qui, après la filtration des données, copie les données résultantes de la filtration et les colle des une autre feuille.

Il faudrait que le collage n'écrase pas les données précédentes de façon à avoir un historique des données filtrées.

Merci d'avance pour votre aide !
 

Pièces jointes

  • Copie de suivi rendu AD.xlsm
    59.4 KB · Affichages: 17
Solution
Bonjour Cesar,
Un essai en PJ avec :
VB:
Sub CopierCollerNonMasquées()
    Dim DL%, DL2%
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    DL2 = Sheets("Feuil2").Range("A65500").End(xlUp).Row
    Range("A2:L" & DL).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil2").Range("A" & 1 + DL2)
End Sub
Lancer CopierCollerNonMasquées à partir de la feuille1, copie les données à la fin de la Feuil2.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Cesar,
Un essai en PJ avec :
VB:
Sub CopierCollerNonMasquées()
    Dim DL%, DL2%
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    DL2 = Sheets("Feuil2").Range("A65500").End(xlUp).Row
    Range("A2:L" & DL).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil2").Range("A" & 1 + DL2)
End Sub
Lancer CopierCollerNonMasquées à partir de la feuille1, copie les données à la fin de la Feuil2.
 

Pièces jointes

  • Copie de suivi rendu AD.xlsm
    61.2 KB · Affichages: 14

Cesar1275

XLDnaute Occasionnel
Bonjour Cesar,
Un essai en PJ avec :
VB:
Sub CopierCollerNonMasquées()
    Dim DL%, DL2%
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    DL2 = Sheets("Feuil2").Range("A65500").End(xlUp).Row
    Range("A2:L" & DL).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil2").Range("A" & 1 + DL2)
End Sub
Lancer CopierCollerNonMasquées à partir de la feuille1, copie les données à la fin de la Feuil2.
Merci Sylvanu ta macro fonctionne parfaitement !
 

Cesar1275

XLDnaute Occasionnel
Bonjour Cesar,
Un essai en PJ avec :
VB:
Sub CopierCollerNonMasquées()
    Dim DL%, DL2%
    Application.ScreenUpdating = False
    DL = Range("A65500").End(xlUp).Row
    DL2 = Sheets("Feuil2").Range("A65500").End(xlUp).Row
    Range("A2:L" & DL).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil2").Range("A" & 1 + DL2)
End Sub
Lancer CopierCollerNonMasquées à partir de la feuille1, copie les données à la fin de la Feuil2.
J'ai réessayé ta macro avec des données d'une autre date mais ça ne fonctionne plus. Les données filtrées ne sont plus collées dans la feuille.

PS : J'ai légèrement modifié ta macro car j'ai modifié les nom et la présentation des feuille (elle fonctionnais toujours avec les modifications lorsque je la testait avec les données du premier fichier) .
 

Cesar1275

XLDnaute Occasionnel
Essayez de faire un fichier test représentatif et de nous le donner.

Questions en vrac :
-Les données à trier ont bien la colonne A remplie ?
-La feuille 2 existe t-elle ?
- Les données à copier vont elles bien de la colonne A à L ?
Voici le fichier avec des données filtrées du 23 mars. Vous pourrez constater que la concaténation ne s'effectue pas.
- Oui la colonne A est remplie par les données filtrées
- La feuille 2 a changé de nom et s'appelle maintenant concaténation mais c'est toujours la même feuille.
- Oui les données à copier vont bien de A à L sans prendre ne compte la première ligne

Merci pour votre aide !
 

Pièces jointes

  • Suivi Rendu AD(3).xlsm
    122.5 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
En fait ça marche très bien.
Seulement vous avez plein de ligne en fin de feuille Concaténation, jusqu'à la ligne 476.
Donc la macro colle bien ... après cette ligne.

Il vous suffit de supprimer toutes ces lignes. et comprendre comment elles sont arrivées là. :)

1616595577609.png


1616595603022.png
 

Cesar1275

XLDnaute Occasionnel
En fait ça marche très bien.
Seulement vous avez plein de ligne en fin de feuille Concaténation, jusqu'à la ligne 476.
Donc la macro colle bien ... après cette ligne.

Il vous suffit de supprimer toutes ces lignes. et comprendre comment elles sont arrivées là. :)

Regarde la pièce jointe 1099832

Regarde la pièce jointe 1099833
Vous avez l'œil effectivement. C'est certainement l'habitude qui parle ;)

Je crois savoir d'où le problème peut venir.

Pour les données du 22 mars, il ne résulte aucune ligne après filtration.

La macro ne devrait donc copier aucune ligne dans la feuille de concaténation.

Or, la macro colle 195 lignes vides pour la journée du 22 ...

Ce qui fait que les données de la journée du 23 se retrouvent à êtres copiées à la ligne 202 ...

Avez-vous une explication à cela ?
 

Cesar1275

XLDnaute Occasionnel
Je n'avais pas prévu le cas où il n'y aurait rien à coller.
Rectifié en PJ. A tester.
Effectivement je ne vous l'avais pas précisé.
J'ai retesté votre macro mais le problème persiste.
Vous verrez dans le fichier en PJ que l'export du 24 mars a fonctionné. J'ai ensuite fait un export du 22 mars (vide) et là, la macro a collé les autres données du 24 (données qui ne devraient pas êtres collées normalement) à la ligne 202...
Je n'arrive pas du tout à comprendre pourquoi la macro a réagi de cette façon ?
 

Pièces jointes

  • Suivi Rendu AD(3).xlsm
    121.3 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je n'arrive pas du tout à comprendre pourquoi la macro a réagi de cette façon ?
Je pense que cela est du au fait que votre base de données à des trous, je ne sais pas comment les filtres réagissent.
Par ex dans votre fichier vos données vont de la ligne 4 à la ligne 304 puis de la ligne 501 à la ligne 778.
Pourriez vous refaire votre test en supprimant les lignes vides de votre base de données ?

En Pj j'ai fait un essai en supprimant les lignes vides de la BDD puis en exécutant la macro avec des filtres sur ADC. Je n'arrive pas à retrouver votre souci.
 

Pièces jointes

  • Suivi Rendu AD(3) (1).xlsm
    94.7 KB · Affichages: 13

Cesar1275

XLDnaute Occasionnel
Je pense que cela est du au fait que votre base de données à des trous, je ne sais pas comment les filtres réagissent.
Par ex dans votre fichier vos données vont de la ligne 4 à la ligne 304 puis de la ligne 501 à la ligne 778.
Pourriez vous refaire votre test en supprimant les lignes vides de votre base de données ?

En Pj j'ai fait un essai en supprimant les lignes vides de la BDD puis en exécutant la macro avec des filtres sur ADC. Je n'arrive pas à retrouver votre souci.
Je comprend !

Effectivement il y a des trous dans les données sur la feuille 1. Cela est en réalité due au fait que la feuille n'était pas pas nettoyés entre 2 exports ce qui faisait que des données de précédents exports restaient en bas de la feuille.
J'ai fait les modifications nécessaires afin que cela n'arrive plus.

Merci encore pour votre aide et bonne journée !
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 249
Membres
103 498
dernier inscrit
FAHDE