Regrouper les données de 2 onglets ensemble via VBA

Résolu
mamined Messages postés 37 Statut Membre -  
Theo.R Messages postés 585 Statut Membre -
Bonjour le forum,

voilà, cela fait 1 journée que j'essaie de trouver une solution afin de regrouper les données de 2 ongets dans un seul onglet.

Début:

J'ai l'onglet du fichier qui s'appel "Données 1" qui contient des valeurs dans les colonnes de L à W.
Le nombre de lignes peut varier et n'est pas toujours identique

J'ai l'onglet du fichier qui s'appel "Données 2" qui contient des valeurs dans les colonnes de L à W.
Le nombre de lignes peut varier et n'est pas toujours identique

A présent, je souhaiterais pouvoir automatiser le travail en reprenant les valeurs présentent dans ces colonnes des 2 onglets pour les mettre dans l'onglet "Définitif" depuis la cellule A1 les unes après les autres.

J'ai bien eu essayé de reprendre des bouts de codes trouvés par ci et par là mais sans succès...

Par avance merci pour votre aide

mamined

2 réponses

  1. Theo.R Messages postés 585 Statut Membre 31
     
    Salut,

    essaie ce code :)

    de mon côté ça marche à partir de ton exemple, mais c'est à peaufiner j'imagine !

    Sub TEST1()

    'pour clear la feuille de destination, facultatif
    Sheets("Définitif").Select
    Selection.Delete

    Dim DernLigne1 As Long
    DernLigne = Sheets("Données 1").Range("L" & Rows.Count).End(xlUp).Row

    Dim DernLigne2 As Long
    DernLigne2 = Sheets("Données 2").Range("L" & Rows.Count).End(xlUp).Row

    If Sheets("Données 1").Range("L1").Value <> "" Then
    For i = 1 To DernLigne1
    Sheets("Données 1").Select
    Range("L" & i & ":W" & i).Select
    Selection.Copy
    Sheets("Définitif").Select
    Range("A" & i).Select
    ActiveSheet.Paste
    Next i
    End If

    If Sheets("Données 2").Range("L1").Value <> "" Then
    For j = 1 To DernLigne2
    Sheets("Données 2").Select
    Range("L" & j & ":W" & j).Select
    Selection.Copy
    Sheets("Définitif").Select
    Range("A" & j + DernLigne1).Select
    ActiveSheet.Paste
    Next j
    End If

    End Sub
    0
    1. mamined Messages postés 37 Statut Membre
       
      Hello Theo,

      merci pour ta réponse et ton aide. La macro fait une partie du job. En fait ce qui se passe chez moi c'est que ça reprend les données du "Données 2" pour les recopier dans le définitif, mais cela ne me reprend pas les données de l'onglet "Données1".
      Du coup je reste bloqué:)

      mamined
      0
      1. Theo.R Messages postés 585 Statut Membre 31 > mamined Messages postés 37 Statut Membre
         
        Ahh oui j'ai oublié un "1" à DernLigne ce qui casse tout pour la feuille Données 1, du coup ça fait ça le code qui marche :

        Sub TEST1()

        'pour clear la feuille de destination, facultatif
        Sheets("Définitif").Select
        Selection.Delete

        Dim DernLigne1 As Long
        DernLigne1 = Sheets("Données 1").Range("L" & Rows.Count).End(xlUp).Row

        Dim DernLigne2 As Long
        DernLigne2 = Sheets("Données 2").Range("L" & Rows.Count).End(xlUp).Row

        If Sheets("Données 1").Range("L1").Value <> "" Then
        For i = 1 To DernLigne1
        Sheets("Données 1").Select
        Range("L" & i & ":W" & i).Select
        Selection.Copy
        Sheets("Définitif").Select
        Range("A" & i).Select
        ActiveSheet.Paste
        Next i
        End If

        If Sheets("Données 2").Range("L1").Value <> "" Then
        For j = 1 To DernLigne2
        Sheets("Données 2").Select
        Range("L" & j & ":W" & j).Select
        Selection.Copy
        Sheets("Définitif").Select
        Range("A" & j + DernLigne1).Select
        ActiveSheet.Paste
        Next j
        End If

        End Sub

        Dis moi si ça te convient ;)
        0
      2. mamined Messages postés 37 Statut Membre > Theo.R Messages postés 585 Statut Membre
         
        Hello Theo,

        Yesss trop fort:-) merci infiniment. ça fait ce que je souhaite effectuer...C'est génial
        0
      3. Theo.R Messages postés 585 Statut Membre 31 > mamined Messages postés 37 Statut Membre
         
        De rien :)

        Merci de valider le sujet en résolu ;)
        0