Regroupement de fichiers a plusieurs onglets

shmider

XLDnaute Occasionnel
Bonjour,

Voilà, je souhaiterai regrouper 4 fichiers excel dans une feuille intérmediaire pour pouvoir faire des rechercheV plus facilement.

Pour l'instant j utilise ça comme script (Cf. en bas), mais ça ne prend pas toutes les lignes, et parfois meme les fichiers sont copier l un sur l autre !!!

Sub test3()
Dim Fich As String, Ligne As Double
Fich = Dir("C:\Documents and Settings\Bureau\SUIVI\*.xls")
Do While Fich <> ""
Ligne = Range("a65536").End(xlUp).Row + 0
Workbooks.Open "C:\Documents and Settings\SUIVI\" & Fich
Range("A1", Range("Z65536").End(xlUp)).Copy _
ThisWorkbook.Sheets(2).Cells(Ligne, 1)
ActiveWorkbook.Close False
Fich = Dir
Loop
End Sub

je ne comprends pas ce qui ce passe à vrai dire!!
 

ERIC S

XLDnaute Barbatruc
Re : Regroupement de fichiers a plusieurs onglets

Bonjour

quelques pistes d'explication

Do While Fich <> "" 'tu balayes successivement tous les fichiers XL du répertoire Fich
Ligne = Range("a65536").End(xlUp).Row + 0 'tu détectes ta dernière ligne où en colonne A tu as une donnée
Workbooks.Open "C:\Documents and Settings\SUIVI\" & Fich
'tu ouvres ton fichier "Fich", tu regardes en Z la dernière ligne contenant une donnée, tu copies la zone A1:Zx sur le feuille2 de ton fichier acuel, à partir de la dernière ligne contenant des valeurs en colonne A
Range("A1", Range("Z65536").End(xlUp)).Copy _
ThisWorkbook.Sheets(2).Cells(Ligne, 1)
'tu fermes le fichier Fich
ActiveWorkbook.Close False
Fich = Dir
Loop
End Sub

A première vue, tu écrases toujours la dernière ligne, il faudrait écrire
ThisWorkbook.Sheets(2).Cells(Ligne+1, 1)
Les risques sur des manques de ligne sont présents si tu n'as pas toujours des données en A ou Z car les Range("Z65536").End(xlUp)) ou équivalent détectent la dernière donnée de la colonne
sinon j'aurais plutôt écrit Range("Z65536").End(xlUp)).address pour être sûr que c'est bien l'adresse

voilà ce que j'en comprends mais je ne l'ai pas essayé. tu devrais le lancer à la main en pas à pas avec F8 pour regarder ce qui se passe réellement
 

Discussions similaires

Statistiques des forums

Discussions
312 073
Messages
2 085 058
Membres
102 768
dernier inscrit
clem135164