Excel VBA : Copie Plage variable filtrée

Résolu
Eaheru Messages postés 205 Statut Membre -  
 matjukid -
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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
    1. matjukid
       
      merci pour tes bons conseils. c'est vraiment sympa!
      0
  2. Eaheru Messages postés 205 Statut Membre 20
     
    Super, j'integre ça :)
    Merci !! :)
    1
  3. Eaheru Messages postés 205 Statut Membre 20
     
    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