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 :

Problème Copier Coller Colonne VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Par défaut Problème Copier Coller Colonne VBA
    Bonjour,

    N'étant pas très doué en VBA, je n'arrive pas à copier/coller correctement deux colonnes (Colonne 1 feuil 1 et Colonne 2 feuil 2) dans la feuil 3.
    Je m'explique :

    Ma feuil 1 --> User

    Colonne 1
    TOTO
    TATA
    TITI
    Ma feuil 2 --> Dep

    Colonne 1 
    PARIS
    LILLE 
    LYON
    Ma feuil 3 --> DepToUser

    Colonne 1   Colonne 2 
    TOTO         PARIS
    TOTO         LILLE
    TOTO         LYON
    TATA         PARIS
    TATA         LILLE
    TATA         LYON
    ...             ... 
    Voici mon code :
    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
    24
    25
    Sub Macro1()
     Dim Wb As Workbook
        Dim Ws1 As Worksheet: Worksheets("Dep").Activate
        Dim Ws2 As Worksheet: Worksheets("User").Activate
        Dim Ws3 As Worksheet: Worksheets("DepToUser").Activate
        Dim var1 As String
        Dim var2 As String
        Dim i As Integer
        Dim y As Integer
     
                'Parcours les Users       
                For i = 2 To 3
                    'Parcours les Dep
                    For y = 2 To 23
                        var1 = Sheets("User").Cells(i, 1)
                        'MsgBox (var1)
                        var2 = Sheets("Dep").Cells(y, 1)
                        'MsgBox (var2)
     
                        'MsgBox ("Je copie " & var1 & " ET " & var2)
                        Sheets("DepToUser").Cells(y, 1).Value = var1
                        Sheets("DepToUser").Cells(y, 2).Value = var2
                    Next y
                Next i
    End Sub

    Merci !

    TA

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    C'est juste un problème de logique …

    Comme le code n'est pas balisé (voir donc les règles de ce forum, il y a même une animation pour les moins doués !)
    je me suis arrêté aux Activate inutiles !

    A partir de l'explication précédant le code, voici un premier exemple, version débutant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Demo1()
            Dim Rg As Range, N&, R&
            Application.ScreenUpdating = False
            Feuil3.UsedRange.Clear
            N = Feuil2.UsedRange.Rows.Count
            R = 1 - N
        For Each Rg In Feuil1.UsedRange.Columns(1).Cells
            R = R + N
            Rg.Copy Feuil3.Cells(R, 1).Resize(N)
        Next
            Feuil2.UsedRange.Columns(1).Copy Feuil3.UsedRange.Columns(1).Offset(, 1)
            Application.Goto Feuil3.Cells(1), True
            Application.ScreenUpdating = True
    End Sub
    Une variante de la logique de la copie de Feuil2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Demo1v()
            Dim Rg As Range, N&, R&
            Application.ScreenUpdating = False
            Feuil3.UsedRange.Clear
            N = Feuil2.UsedRange.Rows.Count
            R = 1
        For Each Rg In Feuil1.UsedRange.Columns(1).Cells
            Rg.Copy Feuil3.Cells(R, 1).Resize(N)
            R = R + N
        Next
            Feuil2.UsedRange.Columns(1).Copy Feuil3.Cells(2).Resize(R - 1)
            Application.Goto Feuil3.Cells(1), True
            Application.ScreenUpdating = True
    End Sub
    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé …

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Par défaut
    Merci beaucoup Marc L ca fonctionne bien !
    Par contre je n'est pas tout compris dans ton code :/

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    C'est le B-A-BA du modèle objet d'Excel en VBA, heureusement que je n'ai pas proposé de solution avancée !

    Pour toute aide sur une instruction du code, placer le curseur texte dessus puis appuyer sur la touche !
    Tout y est …


    ______________________________________________________________________________________________________
    Il n'y a pas que les aigles qui atteignent les sommets, les escargots aussi mais ils en bavent !

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Par défaut
    Yes ! Merci beaucoup !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/12/2013, 13h14
  2. [XL-2003] Problème copier coller avec MFC et VBA
    Par bbcancer dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 28/11/2011, 10h11
  3. Problème de copier coller en vba à partir d'excel
    Par Psycho185 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/06/2011, 13h47
  4. Problème de copier coller macro VBA
    Par Piernod dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/11/2009, 18h56
  5. [VBA-E]Problème Copier-Coller entre 2 classeurs
    Par Corlo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/05/2007, 14h31

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