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 :

Filtrer Copier et coller


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut Filtrer Copier et coller
    Bonjour à tous,

    je me casse la tete depuis un bon, moment sur un simple copier coller. je vous joins le code. Il me sort une erreur 1004, pb avec autofilter.
    Ce que je veux faire: filtrer une base, copier le filtrage vers un autre classeur et mettre cette copie à la suite

    Merci pour l'aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub FiltreCopie()
    '
    ' FiltreCopie Macro
    '
     
    For i = 18 To 25 Step 1
        Sheets("BDD_BDC").Select
        Selection.AutoFilter
        ActiveSheet.Range("$A$1:$Y$2590").AutoFilter Field:=i, Criteria1:="<>"
        ActiveSheet.Range("A247:A2502,J247:Y2502").Copy
        Sheets("presse papier").Select
        Range("A" & Sheets("presse papier").Cells(Rows.Count, 1).End(xlUp).Row).Select
        ActiveSheet.Paste
    Next i
     
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Une petite explication est nécessaire
    tu fais l'autofilter sur plusieurs colonnes et enfin tu copie les lignes visibles?

    Si c'est affirmatif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub FiltreCopie()
    Dim LastLig As Long
    Dim i As Byte
     
    Application.ScreenUpdating = False
    With Sheets("BDD_BDC")
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        For i = 18 To 25
            .Range("A1:Y" & LastLig).AutoFilter field:=i, Criteria1:="<>"
        Next i
        If .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
            .Range("A2:A" & LastLig & ",J2:Y" & LastLig).SpecialCells(xlCellTypeVisible).Copy Sheets("presse papier").Cells(Sheets("presse papier").Rows.Count, 1).End(xlUp)(2)
        End If
        .AutoFilterMode = False
    End With
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut
    oui c'est exactement cela. Filtre puis copie de ce qui est visible

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut
    Ca fonctionne très bien, juste en mettant le Next i à la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub FiltreCopie()
    Dim LastLig As Long
    Dim i As Byte
     
    Application.ScreenUpdating = False
    With Sheets("BDD_BDC")
        .AutoFilterMode = False
        LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
        For i = 18 To 25
            .Range("A1:Y" & LastLig).AutoFilter field:=i, Criteria1:="<>"
        Next i
        If .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
            .Range("A2:A" & LastLig & ",J2:Y" & LastLig).SpecialCells(xlCellTypeVisible).Copy Sheets("presse papier").Cells(Sheets("presse papier").Rows.Count, 1).End(xlUp)(2)
        End If
        .AutoFilterMode = False
    End With
    End Sub
    merci beaucoup!



    Petite question quand même, à quoi correspond le (2)?

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Petite question quand même, à quoi correspond le (2)?
    Pour comprendre, teste ce petit code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub test()
    Range("A1")(2).Interior.ColorIndex = 3 'rouge
    Range("A1")(2, 3).Interior.ColorIndex = 4 'vert
    End Sub

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 32
    Par défaut
    merci c'est compris.

    par contre, bizarrement j'ai une erreur 9 "l'indice n'appartient pas à la selection" la seul modif que j'ai faite a été de déplacer le next en dessous du autofilter false.

    l'erreur survient juste à la ligne en dessous du if

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] copier,couper,coller un texte
    Par guizmoh dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 27/03/2006, 22h05
  2. Réponses: 4
    Dernier message: 21/02/2006, 19h26
  3. [Word] Problème de copier/couper/coller suivant les versions
    Par SkYsO dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 07/12/2005, 21h11
  4. VC++ : pb avec copier et coller ....
    Par Cédric_07 dans le forum MFC
    Réponses: 4
    Dernier message: 15/09/2004, 14h05
  5. [VB6] Interception des évènement Copier/Couper/Coller
    Par youtch dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 18/10/2002, 17h09

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