Bonjour à tous,
Dans un fichier j'ai des éléments saisies manuellement sur plusieurs colonnes (commencant à partir de la 2ème ligne), j'aimerai qu'une macro vienne lire ces éléments et les colle sur un autre fichier (à partir de la 2ème ligne ). J'ai essayé avec ce code mais je n'ai pas réussi.
Sub CopierFeuilles()
Dim Source(), Cible(), Tablo
Dim MaPlage As Range
Dim DerLig As Long
Dim Wk1 As Workbook
Dim Wk2 As Workbook
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Wk1 = Workbooks("Classeur1.xlsm")
Set Wk2 = Workbooks("Classeur2.xlsm")
Set Ws1 = Wk1.Worksheets("Feuil1")
Set Ws2 = Wk2.Worksheets("Feuil1")
DerLig = Ws1.Range("Y" & Ws1.Rows.Count).End(xlUp).Row
For i = 2 To DerLig
Tablo = Split(Ws1.Range("Y" & i), "-")
Ws1.Range(Ws1.Cells(i, "Y"), Ws1.Cells(i, "Y").Offset(0, UBound(Tablo))) = Tablo
Next i
'Copier/coller classeur 1 vers classeur2
Source = Array("A", "C", "L", "K", "AD", "AH", "Z")
Cible = Array("A", "B", "D", "E", "F", "G", "C")
For i = 0 To UBound(Source)
DerLig = Ws1.Range(Source(i) & Ws1.Rows.Count).End(xlUp).Row
Set MaPlage = Ws1.Range(Ws1.Cells(2, Source(i)), Ws1.Cells(DerLig, Source(i)))
MaPlage.Copy Destination:=Ws2.Range(Cible(i) & 3)
Set MaPlage = Nothing
Next
Set Ws1 = Nothing
Set Ws2 = Nothing
Set Wk1 = Nothing
Set Wk2 = Nothing
End Sub
Merci d'avance
Dans un fichier j'ai des éléments saisies manuellement sur plusieurs colonnes (commencant à partir de la 2ème ligne), j'aimerai qu'une macro vienne lire ces éléments et les colle sur un autre fichier (à partir de la 2ème ligne ). J'ai essayé avec ce code mais je n'ai pas réussi.
Sub CopierFeuilles()
Dim Source(), Cible(), Tablo
Dim MaPlage As Range
Dim DerLig As Long
Dim Wk1 As Workbook
Dim Wk2 As Workbook
Dim Ws1 As Worksheet
Dim Ws2 As Worksheet
Set Wk1 = Workbooks("Classeur1.xlsm")
Set Wk2 = Workbooks("Classeur2.xlsm")
Set Ws1 = Wk1.Worksheets("Feuil1")
Set Ws2 = Wk2.Worksheets("Feuil1")
DerLig = Ws1.Range("Y" & Ws1.Rows.Count).End(xlUp).Row
For i = 2 To DerLig
Tablo = Split(Ws1.Range("Y" & i), "-")
Ws1.Range(Ws1.Cells(i, "Y"), Ws1.Cells(i, "Y").Offset(0, UBound(Tablo))) = Tablo
Next i
'Copier/coller classeur 1 vers classeur2
Source = Array("A", "C", "L", "K", "AD", "AH", "Z")
Cible = Array("A", "B", "D", "E", "F", "G", "C")
For i = 0 To UBound(Source)
DerLig = Ws1.Range(Source(i) & Ws1.Rows.Count).End(xlUp).Row
Set MaPlage = Ws1.Range(Ws1.Cells(2, Source(i)), Ws1.Cells(DerLig, Source(i)))
MaPlage.Copy Destination:=Ws2.Range(Cible(i) & 3)
Set MaPlage = Nothing
Next
Set Ws1 = Nothing
Set Ws2 = Nothing
Set Wk1 = Nothing
Set Wk2 = Nothing
End Sub
Merci d'avance