Regrouper les données de 2 onglets ensemble via VBA [Résolu/Fermé]

Signaler
Messages postés
36
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
28 juillet 2020
-
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
-
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

Messages postés
36
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
28 juillet 2020

Et voici le fichier en question:-)

https://www.cjoint.com/?0Apr63cuJ8r
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
20
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
Messages postés
36
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
28 juillet 2020

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
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
20 >
Messages postés
36
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
28 juillet 2020

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 ;)
Messages postés
36
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
28 juillet 2020
>
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016

Hello Theo,

Yesss trop fort:-) merci infiniment. ça fait ce que je souhaite effectuer...C'est génial
Messages postés
575
Date d'inscription
vendredi 11 juillet 2014
Statut
Membre
Dernière intervention
30 mars 2016
20 >
Messages postés
36
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
28 juillet 2020

De rien :)

Merci de valider le sujet en résolu ;)