Bonjour a tous, bonjour le forum,
Je dispose de toute une liste de fichiers excel que je souhaite compiler en un seul. Pour ce faire ,j'ai une macro qui me permet de fusionner les differentes feuilles excels une fois l'adresse specifiee au coeur de la macro.
Toutefois je souhaiterai rendre cette macro plus simple avec une fenetre qui apparait et propose a l'utilisateur de selection le dossier. Type appplication.openfile mais pour une dossier et integrer cette option a cette macro qui fusionne tous les fichiers.
J'ai trouve cette fonction mais je n'arrive pas a l'utiliser ...deja parce que c'est une fonction et quelle n'apparait plus dans les commandes macro :s
En esperant avoir ete clair
Merci d'avance pour votre aide!
Je dispose de toute une liste de fichiers excel que je souhaite compiler en un seul. Pour ce faire ,j'ai une macro qui me permet de fusionner les differentes feuilles excels une fois l'adresse specifiee au coeur de la macro.
Toutefois je souhaiterai rendre cette macro plus simple avec une fenetre qui apparait et propose a l'utilisateur de selection le dossier. Type appplication.openfile mais pour une dossier et integrer cette option a cette macro qui fusionne tous les fichiers.
Code:
Sub MergeSheets()
Dim SrcBook As Workbook
Dim fso As Object, f As Object, ff As Object, f1 As Object
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder[COLOR="red"]("C:\Folder Path")[/COLOR] Set ff = f.Files
For Each f1 In ff
Set SrcBook = Workbooks.Open(f1)
Range("A1:M" & Range("A65536").End(xlUp).Row).Copy
ThisWorkbook.Worksheets(1).Activate
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
SrcBook.Close
Next
End Sub
J'ai trouve cette fonction mais je n'arrive pas a l'utiliser ...deja parce que c'est une fonction et quelle n'apparait plus dans les commandes macro :s
Code:
Function GetFolder(strPath As String) As String
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
.Title = "Select a Folder"
.AllowMultiSelect = False
.InitialFileName = strPath
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
GetFolder = sItem
Set fldr = Nothing
End Function
En esperant avoir ete clair
Merci d'avance pour votre aide!