Bonjour Merci à Mr Toulon pour sa réponse qui est très intéressante.

Pas hyper à l'aise avec les tableaux

Je tente de l'adapter pour assembler des fichiers dont le nombre de colonne est de 7

j'ai tenté
Code : Sélectionner tout - Visualiser dans une fenêtre à part
.Cells(v, 1).Resize(UBound(tablo, 7))
j'ai l"'erreur l'indice n'appartient pas à la sélection"

en gardant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 .Cells(v, 1).Resize(UBound(tablo, 1))
Tous les fichiers sont bien compilés en un mais seule la colonne A est collée

Avez-vous une idée de la raison de mon blocage ?


ci dessous le code très peu modifié (j'ai tenté plusieurs variantes mais sans succès)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 While Fichier <> ""
 
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
 
     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)
        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
        .Cells(v, 1).Resize(UBound(tablo, 7)) = tablo 'maintenant on  place le tableau a partie de la cellule (v,1)en dimensionnant avec la dimention du (tablo)
        '.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
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub