Modification d'une macro

Bonjour à tous,

J'ai trouvé ce code sur le net, mais je n'arrive pas à la modifier comme je le souhaiterais.

Sub ChoixFichier()
'cette macro permet de reprendre le nom du fichier et de le mettre dans la plage nommée
    Dim fichier As String
    With Application.FileDialog(msoFileDialogFilePicker)
        .Show
        On Error Resume Next
        fichier = .SelectedItems.Item(1)
        On Error GoTo 0
    End With
    If fichier <> "" Then Range("_Fichier").Value = fichier
End Sub

Actuellement, elle ouvre l'explorateur Windows, on lui indique un fichier et elle renseigne dans la case "_Fichier" le chemin complet

--> C:\test\test.txt .... j'aimerais pouvoir rajouter un \ à la fin C:\test\test.txt\

Est-il possible de limiter l'affichage des fichiers importables ? par exemple que les TXT ou XLSX ?

Merci d'avance

J.

Bonjour,

A tester :

Option Explicit

Sub ChoixFichier()
'cette macro permet de reprendre le nom du fichier et de le mettre dans la plage nommée

Dim Fichier As Variant
Dim Fd As FileDialog

    Set Fd = Application.FileDialog(msoFileDialogFilePicker)
    With Fd
         .Filters.Add "Fichier", "*.txt;*.xlsx", 1
        .Show
        Fichier = .SelectedItems.Item(1)
    End With
    If Fichier <> False Then Range("_Fichier").Value = Fichier & "\"

    Set Fd = Nothing

End Sub

Merci Eric, cela fonctionne très bien.

Par contre, lorsque je clique sur "Annuler" dans l'explorateur de fichier, j'ai une erreur "Fichier = .SelectedItems.Item(1)", est-il possible de ne pas avoir ce message ?

Sub ChoixFichier()
'cette macro permet de reprendre le nom du fichier et de le mettre dans la plage nommée

Dim Fichier As Variant
Dim Fd As FileDialog

    Fichier = ""

    Set Fd = Application.FileDialog(msoFileDialogFilePicker)
    With Fd
         .Filters.Add "Fichier", "*.txt;*.xlsx", 1
        .Show
        If .SelectedItems.Count > 0 Then
           Fichier = .SelectedItems.Item(1)
        End If
    End With
    Debug.Print Fichier
    If Fichier <> "" Then Range("_Fichier").Value = Fichier & "\"

    Set Fd = Nothing

End Sub
Rechercher des sujets similaires à "modification macro"