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 colonnes suivant leur nom dans une autre feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut Copier colonnes suivant leur nom dans une autre feuille
    Bonjour,
    J'aimerais copier des colonnes suivant leur nom dans une autre feuille Excel.
    Exemple:
    Nom | Prénom | Age | Ville
    Robert | Luis | 45 | Chalons
    Villenave | Thierry | 34 | Tours
    Babel | Alexis | 26 | Chartres

    Je n'aimerais copier que les colonnes Nom et Ville par exemple, et les coller sur la Feuil2, respectivement en colonne A et B simplement.
    J'arrive à trouver les colonnes désirées et à inscrire le numéro de la colonne (1,2,3 etc) mais comment faire pour sélectionner la colonne jusqu'à la dernière valeur non vide et la copier pour la coller dans Feuil2??
    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
     
        Cells.Find(What:="Product Type", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Activate
        Num_Col = ActiveCell.Column
     
        Columns(Num_Col).Select
    End Sub
    Merci du coup de pouce par avance!

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as la réponse là http://www.developpez.net/forums/sho...d.php?t=223878
    Jète un oeil
    Tu dis

    Edit
    Un truc qui peut t'aider
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        DernièreLigne = Range("A65535").End(xlUp).Row
        DernièreLigne = Range("A1").End(xlDown).Row
        DernièreLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
        DernièreColonne = Range("A1").End(xlToRight).Column
        DernièreColonne = Range("A1").SpecialCells(xlCellTypeLastCell).Column

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    J'y suis presque mais pas complétement!!!
    J'arrive à récupérer le numéro de ligne vide!
    J'arrive à copier la colonne qui porte le titre souhaité (ici Nom).
    Mais je n'arrive pas à faire les deux à la fois....

    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
    18
    19
    20
    21
    22
    23
    Sub Macro1()
    Dim f5 As Worksheet
    Dim f6 As Worksheet
    Set f5 = Feuil4 ' Feuille de données
    Set f6 = Feuil6 ' Feuille de données
    Dim lignevidecopy As Long
     
    lignevidecopy = f5.Range("F:F").End(xlDown).Row + 1
     
        Cells.Find(What:="Nom", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Activate
     
        Num_Col = ActiveCell.Column
     
        f5.Columns(Num_Col).Copy
     
        'f5.Columns.Range("Num_Col:Num_Col" & lignevidecopy - 1).Copy
     
        f6.Select
        Range("A1").Select
        ActiveSheet.Paste
    End Sub

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    code modifié

    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
    18
    19
    20
    21
     
     
    Sub Macro1()
    Dim f5 As Worksheet
    Dim f6 As Worksheet
    Set f5 = Feuil1 ' Feuille de données
    Set f6 = Feuil2 ' Feuille de données
    Dim c As Range 'Colonne cellule ) copier
    Dim lignevidecopy As Long
    Set c = f5.Cells.Find(What:="Nom", After:=f5.Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False)
      If c Is Nothing Then
        MsgBox "Nom Introuvable ", vbCritical
        Exit Sub
      End If
        c.Select
        lignevidecopy = c.End(xlDown).Row ' derniére cellule ocuppée dans colonne nom..
        f5.Range(f5.Cells(1, c.Column), f5.Cells(lignevidecopy, c.Column + 1)).Copy f6.Range("A1")
     
    End Sub

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 65
    Points : 37
    Points
    37
    Par défaut
    Merci de ton aide, çà fonctionne!
    J'ai réussi à faire ma modification!
    Merci beaucoup!

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/05/2014, 09h04
  2. [XL-2007] copier coller valeur dans une autre feuille avec itération de colonne
    Par profnans dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 24/02/2013, 19h21
  3. Réponses: 11
    Dernier message: 24/02/2012, 13h07
  4. Réponses: 1
    Dernier message: 10/02/2008, 19h56
  5. [VBA-E]Copier une serie de cellules dans une autre feuille
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/03/2006, 17h23

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