Excel 2007 VBA : Copier des zones filtrées
Résolu
Eaheru
Messages postés
197
Date d'inscription
Statut
Membre
Dernière intervention
-
Eaheru Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
Eaheru Messages postés 197 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici mon problème :
Sous Excel 2007, je dispose de 2 fichiers au format identique (même nombre de colonnes et même intitulés), les lignes de ces 2 fichiers sont filtrés suivant le filtre suivant : AB = oui
et je dois effectuer un copié/collé de la premier liste filtrée dans un onglet vierge sur un nouveau fichier, puis aller chercher la 2eme liste filtrée afin de la copier, à la suite de la première, dans le nouveau fichier.
J'aimerais en faire un macro VBA afin de l'intégrer dans celles que j'ai déjà créé.
Merci d'avance pour votre aide. :)
Voici mon problème :
Sous Excel 2007, je dispose de 2 fichiers au format identique (même nombre de colonnes et même intitulés), les lignes de ces 2 fichiers sont filtrés suivant le filtre suivant : AB = oui
et je dois effectuer un copié/collé de la premier liste filtrée dans un onglet vierge sur un nouveau fichier, puis aller chercher la 2eme liste filtrée afin de la copier, à la suite de la première, dans le nouveau fichier.
J'aimerais en faire un macro VBA afin de l'intégrer dans celles que j'ai déjà créé.
Merci d'avance pour votre aide. :)
A voir également:
- Excel 2007 VBA : Copier des zones filtrées
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
J'ai trouve ma réponse :
Pour le copier coller, il suffit de faire :
Range("A1:AE25000").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Ce qui permet de ne prendre en compte que les lignes visibles et non celles filtrées.
Ensuite, on colle de manière classique.
Pour la copie de la deuxième liste, à la suite de la première, on effectue le meme genre de filtrage et de copie que précédemment, mais au moment de coller on passe la commande :
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
La première ligne va chercher la dernière ligne remplie de la liste de valeur (sur la colonne "A" puis se décalera d'une ligne vers le bas et la deuxième ligne effectue le collage.
Pour le copier coller, il suffit de faire :
Range("A1:AE25000").Select
Selection.SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Ce qui permet de ne prendre en compte que les lignes visibles et non celles filtrées.
Ensuite, on colle de manière classique.
Pour la copie de la deuxième liste, à la suite de la première, on effectue le meme genre de filtrage et de copie que précédemment, mais au moment de coller on passe la commande :
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
La première ligne va chercher la dernière ligne remplie de la liste de valeur (sur la colonne "A" puis se décalera d'une ligne vers le bas et la deuxième ligne effectue le collage.
As tu essayé (moi non) de te passer des sélections? un peu comme ceci :
Qui est "censé" faire tout le copier/coller en une ligne de code...
Merci !