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

Excel Discussion :

Copier des colonnes entières selon critère vers une autre feuille [XL-2010]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 10
    Points
    10
    Par défaut Copier des colonnes entières selon critère vers une autre feuille
    Bonjour à tous,

    J'ai cherché un peu partout la solution mais malheureusement je n'ai rien trouvé qui correspondait à mon objectif.

    J'ai une feuille "Trace" et une feuille "Cat1"
    Je souhaite copier toutes les colonnes de "Trace" qui contient "1" en première ligne et les coller sur "Cat1".

    Comme étapes j'ai pensé à une boucle comme :

    - Définition de la dimension du tableau de "Trace"
    - Définition de la première colonne à traiter "B:B"
    - Définition de la première cellule "B1" de la colonne "B:B"
    - Vérification de sa valeur :
    SI "1" alors la colonne "B:B" est copiée collée sur "Cat1", sinon on passe à la colonne suivante "C:C" et ceci jusqu'à la range max du tableau.

    Merci de votre aide car je n'arrive pas à formuler sous VBA

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Bonjour,

    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
    Sub Recopie()
        Dim DerCol As Integer, Plage As Range, C As Range, Col As Integer
        With Sheets("Trace")
            DerCol = .Rows(1).Find("*", , , , , xlByColumns, xlPrevious).Column
            Set Plage = .Cells(1, 1).Resize(, DerCol)
        End With
        With Sheets("Cat1")
            For Each C In Plage
                If C.Value = 1 Then
                    Col = Col + 1
                    C.EntireColumn.Copy .Cells(1, Col)
                End If
            Next C
        End With
    End Sub
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    20
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 20
    Points : 10
    Points
    10
    Par défaut
    Merci, c'est parfait !

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

Discussions similaires

  1. [XL-2010] Copier plage de cellules vers une autre feuille selon un critère dans une boucle
    Par klash384 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/01/2015, 17h53
  2. [XL-2007] Copier ligne saisie par un formulaire vers une autre feuille selon le nomclient
    Par pasterlouis dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 10/06/2013, 21h36
  3. Extraction colonnes d'un tableau vers une autre feuille
    Par argaz01 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/06/2010, 15h16
  4. [XL-97] Copie capricieuse des valeurs d'un range vers une autre feuille
    Par Michel Delapouaitte dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 24/04/2009, 09h34
  5. Réponses: 2
    Dernier message: 19/04/2007, 13h54

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