IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Copier coller des lignes filtrées


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 262
    Par défaut Copier coller des lignes filtrées
    Bonjour,
    Je fais un filtre, je veux coller les lignes visibles du filtre (hors entête).
    Ca fonctionne lorsque je les colle une première fois, puis j'ai erreur 400.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        Sheets("V").Range("A1").AutoFilter Field:=1, Criteria1:="G"
        Sheets("V").Range("A2:P1048576").SpecialCells(xlVisible).Copy Destination:=Sheets("G").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    'suppression
        Sheets("V").Select
        Sheets("V").Range("$A2:$Z1048576").SpecialCells(xlCellTypeVisible).Delete
        Sheets("V").Cells.AutoFilter
    Comment régler ce problème ? Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 435
    Par défaut
    Bonjour,

    Le problème vient de ce que la sélection de départ (jusqu'à P1048576) est trop grande: la partie de la feuille où il n'y a aucune donnée fait partie de la plage considérée "visible" par Excel! La première fois c'est collable, la seconde fois c'est trop grand! Ceci pour le voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub VoirRange()
        Sheets("V").Range("A1").AutoFilter Field:=1, Criteria1:="G"
        Sheets("V").Range("A2:P1048576").SpecialCells(xlVisible).Select
        Debug.Print "Sélection: " & Selection.Address
    End Sub
    Solution: réduire la plage à coller au minimum nécessaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
     
    Sub CopyVisible()
        Dim LastRow As Long
        With Sheets("V")
            LastRow = .Range("A" & Rows.Count).End(xlUp).Row
            .Range("A1").AutoFilter Field:=1, Criteria1:="G"
            .Range("A2:P" & LastRow).SpecialCells(xlVisible).Copy Destination:=Sheets("G").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
            'suppression
            .Range("$A2:$Z" & LastRow).SpecialCells(xlCellTypeVisible).Delete
            .Cells.AutoFilter
        End With
    End Sub
    Cordialement.
    Fichiers attachés Fichiers attachés

  3. #3
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 262
    Par défaut
    Bonjour,

    L'erreur se produit encore sur la ligne. Dans mon cas LastRow = 140
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
            'suppression
            .Range("$A2:$Z" & LastRow).SpecialCells(xlCellTypeVisible).Delete

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 435
    Par défaut
    Bonjour,

    Je n'ai pas cette erreur, aussi pas possible pour moi de vous en dire plus ... mais peut-être si vous donnez un exemple de feuille qui donne cette erreur.

    Cordialement.

  5. #5
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 262
    Par défaut
    Bonjour, Voici un fichier test
    Version Test.xlsm

  6. #6
    Membre éclairé
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 262
    Par défaut
    J'ai trouvé mon erreur, j'avais mal défini le range
    Merci, c'est donc résolu

Discussions similaires

  1. [XL-2010] Copier/coller des lignes en fonction de critères
    Par Gexydou dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/01/2013, 09h42
  2. [XL-2007] Copier/Coller des lignes
    Par ella12_12 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/03/2011, 19h38
  3. [XL-2007] Copier/coller des lignes uniquement affichées d'un tableau
    Par bedoch dans le forum Excel
    Réponses: 4
    Dernier message: 12/06/2009, 09h21
  4. copier/coller des lignes dans feuilles crées
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/03/2008, 19h58
  5. Copier coller des lignes à l'inverse
    Par SybVicious dans le forum Excel
    Réponses: 4
    Dernier message: 23/02/2008, 11h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo