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 39 40
| Sub import_analyse()
'Application.ScreenUpdating = False: Application.DisplayAlerts = False
Dim Fichier As String, Chemin As String, v As Long, tablo As Variant, Wb As Workbook, dernlig As Long
Chemin = "C:\Users\Host\Desktop\TABLo\"
Fichier = Dir(Chemin & "*.xlsx")
Do
Set Wb = Workbooks.Open(Chemin & Fichier)
dernlig = Cells(Rows.Count, 1).End(xlUp).Row 'ici tu detecte la ligne limite de ton tableau a copier
tablo = Range("A1:" & "I" & dernlig) 'copie du tableau voulu dans la variable tablo
tablo1 = Range("B1:" & "I" & dernlig) 'copie du tableau voulu dans la variable tablo
tablo2 = Range("C1:" & "I" & dernlig)
tablo3 = Range("D1:" & "I" & dernlig)
tablo4 = Range("E1:" & "I" & dernlig)
tablo5 = Range("F1:" & "I" & dernlig)
tablo6 = Range("G1:" & "I" & dernlig)
tablo7 = Range("H1:" & "I" & dernlig)
tablo8 = Range("I1:" & "I" & dernlig)
Wb.Close False: Set Wb = Nothing 'ici tu ferme le classeur que tu viens d'ouvrir pour copier la plage desirée
With Sheets(1)
' voir pour remplacer le n° de tableau par variable? For i = 1 To 9
v = IIf(v < 1, 2, .Cells(Rows.Count, 1).End(xlUp).Row + 1) 'recherche de la premiere ligne de libre a la suite dans le classeur central
'format et données ok pour ne pas réiterer la recherche de la première ligne à chaque colonne
.Cells(v, 1).Resize(UBound(tablo)) = tablo 'maintenant on place le tableau a partie de la cellule (v,1)en dimensionnant avec la dimentson du (tablo)
.Cells(v, 2).Resize(UBound(tablo1)) = tablo1
.Cells(v, 3).Resize(UBound(tablo2)) = tablo2
.Cells(v, 4).Resize(UBound(tablo3)) = tablo3
.Cells(v, 5).Resize(UBound(tablo4)) = tablo4
.Cells(v, 6).Resize(UBound(tablo5)) = tablo5
.Cells(v, 7).Resize(UBound(tablo6)) = tablo6
.Cells(v, 8).Resize(UBound(tablo7)) = tablo7
.Cells(v, 9).Resize(UBound(tablo8)) = tablo8
'.Cells(v, 2).Resize(UBound(tablo, 0)) = tablo 'maintenant on place le tableau a partie de la cellule (v,1)en dimensionnant avec la dimention du (tablo)
End With
Fichier = Dir
Loop While Fichier <> ""
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub |
Partager