Macro import fichier Excel

Bonjour à tous !

Ayant épuisé tout mon potentiel de recherche ces derniers jours sans pour autant aboutir, je vous sollicite pour quelques conseils ou un petit coup de main !

Mon objectif est simple : Je possède plusieurs fichiers (avec plusieurs onglets) possédant tous la même structure. Je désire les analyser/comparer dans un fichier global. Le but est donc de pouvoir importer tel ou tel fichier dans l'excel d'analyse en créant un nouvel onglet à chaque fois.

Je suis pour l'heure capable d'importer les données en codant en dur la localisation des fichiers. Mais mon objectif est de pouvoir in fine choisir quel(s) fichier(s) je désire importer.

Je n'ai pas réussi à aboutir à l'aide d'une userform. Pour le moment j'en suis rendu à utiliser les fonctions suivantes (la première devrait me permettre de récupérer le nom du fichier choisi et la seconde importer le fichier en question) mais je n'arrive pas à faire le lien entre les deux :

Sub Nom_fichier()

With Application.FileDialog(msoFileDialogOpen)

.AllowMultiSelect = True

.Show

End With

End Sub

Sub Import_fichier()

Set wbdest = ActiveWorkbook

fichier = Dir("F:\AntoineSP\MacroExcel\Cas Test\*.xls")

Do While fichier <> ""

Set wbsource = Workbooks.Open("F:\AntoineSP\MacroExcel\Cas Test\" & fichier) 'open the file

Set wksNewSheet = wbsource.Sheets("Feuil1") 'select the sheet where data is

wksNewSheet.Activate 'activation of this sheet

wksNewSheet.Select

Range(Cells(2, 2), Cells(7, 5)).Select 'select the data you want to copy

Selection.Copy 'copy the data selected

wbdest.Activate 'activate the destination file

i = ActiveSheet.UsedRange.Rows.Count 'count the number of line used in this file

Range("A11") = i 'L'abscence de cette ligne induit une erreur de comptage malgré une valeur de i correcte...

Cells(i + 2, 2).Select 'select the cells where you want to paste the data (from first free line)

ActiveSheet.Paste 'paste the data

wbsource.Close 'close the current source file

fichier = Dir 'go to next file in the directory

Loop 'restart the process with next file

wbdest.Activate

End Sub

Je vous remercie par avance pour vos petits conseils !

Rechercher des sujets similaires à "macro import fichier"