Boucler sur les fichiers
Bonjour,
Je dois mensuellement effectuer un travail pas très intéressant alors je me demande s'il y a possibilité de l'automatiser.
J'ai un dossier qui contient plusieurs fichiers excel, environ 50.
Ces fichiers ont tous exactement la même structure.
Je souhaite savoir si vous avez une suggestion a me donner ou un code a proposer pour la procédure qui suit.
Dans une nouveau classeur(recap.xlsx), en colonne A, lister tous les noms de fichiers qui sont dans mon dossier.
Dans la colonne B, pour chaque fichier, aller chercher le dernier montant de la colonne C.
Pensez-vous que cela est possible ?
Je mets en pièce jointe les trois fichiers qui pourrait être dans mon dossier ainsi que le fichier recap qui devrait contenir ces informations.
Disons que mes fichiers se trouvent dans le dossier C:\Users\user\Desktop\Fichiers
Je vous remercie d'avance pour votre aide.
Bonjour
une proposition
Option Explicit
Sub collecter()
Dim wbk1 As Workbook, wbk2 As Workbook, ws1 As Worksheet
Dim MonRepertoire, Repertoire As FileDialog, monFichier$, ligne%
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Application.FileDialog(msoFileDialogFolderPicker).Title = "Choix du répertoire de stockage des fichiers générés"
Repertoire.Show
If Repertoire.SelectedItems.Count = 0 Then Exit Sub
MonRepertoire = Repertoire.SelectedItems(1) & "\"
Set wbk1 = ThisWorkbook
Set ws1 = wbk1.ActiveSheet
Cells(Rows.Count, 1).End(xlUp).CurrentRegion.Offset(1, 0).ClearContents
monFichier = Dir(MonRepertoire & "*.xlsx")
ligne = 1
Do While monFichier <> ""
ligne = ligne + 1
Set wbk2 = Workbooks.Open(MonRepertoire & monFichier)
ws1.Cells(ligne, 1) = monFichier
ws1.Cells(ligne, 2) = wbk2.ActiveSheet.Cells(Rows.Count, 2).End(xlUp)
Application.DisplayAlerts = False
wbk2.Close False
Application.DisplayAlerts = True
monFichier = Dir
Loop
End Subsi cette zone avait été fixe, le code aurait été plus simple et je n'aurais pas eu à ouvrir les fichiers
Bonjour,
Immense merci pour votre aide.
Le code fait parfaitement le job et ça m'évite de le faire à la main.
Grand merci encore et très bonne journée.