Macro permettant d'exploiter le chemin du fichier

Bonjour à tous,

Je suis débutant en VBA et je cherche une macro permettant de récupérer le chemin du dossier où se trouve mon fichier puis ensuite de ré-utiliser ce même chemin pour pouvoir importer tout les fichiers Excel qui se trouvent dans le même dossier sur différents onglets de ma feuille. J'ai déjà réussi à faire une macro pour la partie import mais il faut que je renseigne le chemin du dossier en "brut" dans la macro. J'aimerais que la macro récupère automatiquement le chemin puis le ré-utilise.

J'espère avoir été assez clair n'hésitez pas à revenir vers moi pour plus de précisions.

Je vous remercie pour votre aide précieuse !

Rayan

Bonjour,

La propriété Path du classeur (Workbook) donne le chemin d'accès au classeur

Bonjour Patrice,

Merci de ta réponse, en effet, j'ai pensé à la propriété Path, elle me renvoie bien le chemin du fichier mais mon problème se trouve ensuite lors de l'import des fichiers .xls

Je m'explique, pour importer les fichiers .xls j'utilise la ligne de code suivante :

fichier = Dir("D:\Users\Documents\Apprentissage\*.xls")

Et lorsque j'utilise la propriété Path, je crée la variable suivante :

Chemin = Workbooks(ActiveWorkbook.Name).Path

Ensuite, je n'arrive pas à intégrer la variable "Chemin" dans "fichier" pour récupérer uniquement les fichiers .xls

Merci beaucoup

Rayan

Re,

Je ne comprend pas tes explications, mets ton codes complet (avec des balises code)

Re,

Voici mon code, lorsque j'exécute il ne se passe rien du tout. Je ne comprend pas pourquoi :

Sub Import()

Set wbdest = ActiveWorkbook
Chemin = Workbooks(ActiveWorkbook.Name).Path
fichier = Dir(Chemin)
Do While fichier <> ""

Set wbsource = Workbooks.Open(Chemin & fichier) 'open the file
Set wksNewSheet = wbsource.Sheets("Page1_1") 'select the sheet where data is
wksNewSheet.Activate 'activation of this sheet
wksNewSheet.Select
Range(Cells(1, 1), Cells(1000, 1000)).Select 'select the data you want to copy
Selection.Copy 'copy the data selected
wbdest.Activate 'activate the destination file
Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Select
i = ActiveSheet.UsedRange.Rows.Count 'count the number of line used in this file
Cells(i + 1, 1).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

Alors que si je rentre le chemin en dur comme ceci cela marche très bien :

fichier = Dir("D:\Users\Documents\Apprentissage\*.xls")

Merci beaucoup

Rayan

Re,

Essaies :

Option Explicit
Sub Import()
Dim wbkDst As Workbook
Dim wshDst As Worksheet
Dim wbkSrc As Workbook
Dim wshSrc As Worksheet
Dim chemin As String
Dim fichier As String
  Set wbkDst = ActiveWorkbook
  chemin = wbkDst.Path & "\"
  fichier = Dir(chemin & "*.xls")
  Do While fichier <> "" And fichier <> wbkDst.Name
    Set wbkSrc = Workbooks.Open(chemin & fichier)
    Set wshSrc = wbkSrc.Worksheets("Page1_1")
    Set wshDst = wbkDst.Sheets.Add(After:=wbkDst.Sheets(Sheets.Count))
    wshSrc.UsedRange.Copy wshDst.Range("A1")  '.Range("A" & Rows.Count).End(xlUp)
    wbkSrc.Close False
    fichier = Dir
  Loop
  wbkDst.Activate
End Sub

Cela marche à merveille. Merci beaucoup !!

Cordialement

Rayan

Rechercher des sujets similaires à "macro permettant exploiter chemin fichier"