Excel VBA : Copie Plage variable filtrée

Résolu/Fermé
Eaheru
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
- 15 oct. 2010 à 10:54
 matjukid - 24 mai 2017 à 23:19
Bonjour,

Je cherche à résoudre le problème suivant depuis hier sans succès :
J'ai un fichier Excel qui contient plusieurs centaines de lignes, les opérations sont les suivantes :
- Réalisation d'un filtrage sur la colonne K,
- Copier des lignes restantes après ce filtrage dans l'onglet 1 d'un nouveau fichier.

Mon problème vient du fait que la plage a copier est variable et change chaque jour et que lorsque je tente un copier / coller, j'ai aussi les lignes qui sont normalement filtrées qui sont transférées sur le nouveau fichier.
Ce que je ne souhaites absolument pas :)

Quelqu'un aurait une idée svp ?

3 réponses

pijaku
Messages postés
12259
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
9 août 2022
2 702
Modifié par pijaku le 15/10/2010 à 13:00
Bonjour,
La syntaxe pour ne copier que les lignes visibles est la suivante :

Sheets(NomDeLaFeuille).Range("A2:AZ16500").SpecialCells(xlVisible).Copy

En gras : à adapter

par exemple :

Range("A2:AZ16500") 
peux devenir "variable" comme ceci :

Range("A2:AZ" & Range("A65536").End(xlUp).Row)

Cordialement,
-- Il n'y a rien de tel qu'une question idiote, seulement une réponse idiote. A.Einstein --
4
merci pour tes bons conseils. c'est vraiment sympa!
0
Eaheru
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
20
15 oct. 2010 à 13:43
Super, j'integre ça :)
Merci !! :)
1
Eaheru
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
20
Modifié par Eaheru le 15/10/2010 à 14:26
Donc ça fonctionne parfaitement. Et si dans la foulée je souhaite détruire les lignes que je viens de copier depuis le fichier de départ (et dans ce fichier de départ) ?

Édit : c'est bon, je fais en 2 fois et tout fonctionne parfaitement.
Encore merci pour le coup de main
1