assembler des fichiers dont le nombre de colonne est de 7
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:
.Cells(v, 1).Resize(UBound(tablo, 7))
j'ai l"'erreur l'indice n'appartient pas à la sélection"
en gardant
Code:
.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:
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 |