Regrouper les données de 2 onglets ensemble via VBA

Résolu/Fermé
mamined Messages postés 35 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 28 juillet 2020 - 15 janv. 2015 à 17:45
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 - 16 janv. 2015 à 14:11
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

mamined Messages postés 35 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 28 juillet 2020
15 janv. 2015 à 17:52
Et voici le fichier en question:-)

https://www.cjoint.com/?0Apr63cuJ8r
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
15 janv. 2015 à 18:51
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
mamined Messages postés 35 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 28 juillet 2020
16 janv. 2015 à 08:12
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
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > mamined Messages postés 35 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 28 juillet 2020
16 janv. 2015 à 09:10
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
mamined Messages postés 35 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 28 juillet 2020 > Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016
16 janv. 2015 à 13:52
Hello Theo,

Yesss trop fort:-) merci infiniment. ça fait ce que je souhaite effectuer...C'est génial
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > mamined Messages postés 35 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 28 juillet 2020
16 janv. 2015 à 14:11
De rien :)

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