Compilation de fichiers Excel pour création d'une base de données
Bonjour à tous ,
Alors voilà, je vous explique mon projet :
- copier/coller les données de 100 feuilles de 100 fichiers Excel différents sur 1 fichier Excel, afin que je puisse par la suite créer une base de donnée.
Les données sur les 100 feuilles ont toutes le même format, et les 100 fichiers ont aussi tous le même format.
Il n'y a qu'un onglet par feuille, et toutes les feuilles ont le même intitulé d'onglet.
Les données des feuilles commence en "A1" et finisse en "AJ43" avec de nombreuses cellules fusionnés.
Tous les fichiers sont sous un et même dossier.
J'ai fais quelques recherches et j'ai trouvé le code suivant :
Sub recup()
Range("A1").Select 'sélectionner la cellule de début
Chemin = "U:\Dossier Fiches\" 'saisir le chemin complet du dossier où se trouvent les fichiers
Fichier = Dir(Chemin & "*.xls") ' Premier fichier
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Range("bd_export").Copy
ThisWorkbook.Activate
ActiveSheet.Paste
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Range("A652661").End(xlUp).Offset(1, 0).Select
Fichier = Dir ' Fichier suivant
Loop
End Subj'ai copié le code sur un nouveau fichier intitulé Test avec comme onglet principal "bd_export"
Le problème que j'ai est : l'erreur 400 .. , et je ne sais comment la résoudre
J'ai besoin de votre aide, car je ne suis pas un expert dans VBA, je suis actuellement en phase d'apprentissage et là, je ne sais pas quoi faire !
Très bonne journée,
Dans l'attente de vos réponses,
PS : Je ne peux malheureusement pas vous joindre de fichier car je suis sur un ordinateur professionnel et tout est bloqué ..
G78
Bonjour G78 et
En définissant les variables et en optimisant le code peut-être
Sub Recup()
Dim Chemin As String, sFichier As String
Dim Wbk As Workbook
Chemin = "U:\Dossier Fiches\" 'saisir le chemin complet du dossier où se trouvent les fichiers
sFichier = Dir(Chemin & "*.xls") ' Premier fichier
Do While sFichier <> ""
Set Wbk = Workbooks.Open(Filename:=Chemin & sFichier)
Wbk.Sheets(1).Range("bd_export").Copy Destination:=ThisWorkbook.ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
Wbk.Close SaveChanges:=False
Set Wbk = Nothing
sFichier = Dir ' Fichier suivant
Loop
End Sub@+
Merci beaucoup ! Vous êtes le boss ! Bon c'était peut être facile mais pas évident pour un débutant !
Je vais reprendre les leçons VBA depuis le début, pour devenir un peu moins débutant
Merci encore mille fois, vous m'avez fait gagner un temps de dingue !
A bientôt !