Excel VBA – Rapatrier les informations d’un fichier (chemin/emplacement et nom)

Bonjour à tous,

Voici une amélioration d'un ancien post.

Le but est de rapatrier les informations d'un fichier que l'on sélectionne via une boîte de dialogue.

Cliquez ici pour télécharger le fichier Excel.

Ce code est ensuite très pratique pour pouvoir ensuite effectuer des traitements sur un fichier sélectionné.

Voici le code :

Option Explicit
Sub choix_CheminEtFichiers()
'Cette macro permet de mettre dans la plage nommee les informations du fichier selectionne
    'note : on aurait pu tout faire en une seule fois sans variables, mais en ayant
    'des variables, cela permet de facilement continuer le code par la suite.
    Dim strFichier As String
    Dim strChemin As String
    Dim strCheminEtFichier As String
    'on ouvre la boite de dialogue pour recuperer les informations du fichier selectionne
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        On Error Resume Next
        strChemin = .SelectedItems.Parent.InitialFileName
        strCheminEtFichier = .SelectedItems.Item(1)
        'note : il existe de nombreuses autres solutions pour recuperer le nom du fichier
        strFichier = Right(strCheminEtFichier, Len(strCheminEtFichier) - InStrRev(strCheminEtFichier, "\"))
        On Error GoTo 0
    End With
    'on rapatrie les informations dans la feuille excel
    If strCheminEtFichier <> "" Then
        Range("Nom_du_Fichier").Value = strFichier
        Range("CheminFichier").Value = strChemin
        Range("Nom_et_Chemin_du_Fichier").Value = strCheminEtFichier
    End If
    'on ajuste la colonne contenant le resultat
    Columns(Range("Nom_du_Fichier").Column).EntireColumn.AutoFit
End Sub

Bonne continuation.

Gaetan Mourmant

Pour marque-pages : Permaliens.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.