1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Sub copier_coller_cellule_fichier2feuil1()
Dim wk_fichier As Workbook
Dim ws_fichier1feuil1 As Worksheet
Dim wk_fichier2 As Workbook
Dim ws_fichier2feuil1 As Worksheet
Dim der_ligne_1 As Long
Dim der_ligne_2 As Long
'définir les variables fichiers et onglets
Set wk_fichier = ActiveWorkbook
Set ws_fichier1feuil1 = wk_fichier.Worksheets(1)
Set wk_fichier2 = Application.Workbooks.Open("C:\Users\JAM97\Desktop\ETP Tableau JAM macro\EXTRACTION declaration-programme-etp_2023-04-20_11-58.xlsx")
Set ws_fichier2feuil1 = wk_fichier2.Worksheets(1)
'identifier dernière ligne de la feuil1
der_ligne_1 = ws_fichier2feuil1.Cells(Rows.Count, 1).End(xlUp).Row
der_ligne_2 = ws_fichier1feuil1.Cells(Rows.Count, 1).End(xlUp).Row
'copier coller une plage de cellule
Dim source_columns As Variant
Dim target_columns As Variant
source_columns = Array(1, 40, 44, 41, 18, 16, 19, 26, 28, 29, 20, 21, 22, 2, 9)
target_columns = Array(2, 5, 6, 8, 10, 13, 14, 16, 17, 18, 19, 21, 22, 24, 27)
For i = 0 To UBound(source_columns)
ws_fichier2feuil1.Range(ws_fichier2feuil1.Cells(2, source_columns(i)), ws_fichier2feuil1.Cells(der_ligne_1, source_columns(i))).Copy
ws_fichier1feuil1.Cells(der_ligne_2 + 2, target_columns(i)).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next i
'enregistrer et fermer fichier 2
wk_fichier2.Close (True)
End Sub |
Partager