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 -
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
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
-
-
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-
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- 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 ;)
-