VBA Ajouter une variable de fichier texte à insérer

Bonjour,

Etant novice sur VBA je cherche comment modifier une partie d'une macro que j'ai enregistrée grâce à l'enregistreur de macro. Je souhaite insérer un fichier texte dans une feuille vierge et ensuite délimiter mes données par des virgules etc. Tout fonctionne parfaitement mais seulement la macro sélectionne le fichier que j'ai sélectionné en exemple pendant l'enregistrement. Logique !

Cependant j'aimerai pouvoir insérer une sorte de variable pour que la macro me demande quel fichier sélectionner car il sera tout le temps différent. Simplement si elle peut ouvrir l'explorateur de fichier pour que je le sélectionne exactement comme Excel le fait quand je clique sur "Fichier texte" dans l'onglet "Données" et qu'une fois sélectionné la macro continue.

Je suis sûre que ce n'est pas compliqué mais je ne parvient pas à trouver la bonne fonction sur le net... Merci pour votre aide.

Application.CutCopyMode = False
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\nom\Downloads\commandes.csv" _
        , Destination:=Range("$A$1"))
        '.CommandType = 0
        .Name = "commandes"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 65001
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _
        , 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

Bonjour SliVeaX

Vous pouvez utiliser

NomFich = Application.GetOpenFilename
If NomFich = False Then Exit Sub

Et voici le détail de l'instruction

https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.getopenfilename

@+

Bonjour, je vous remercie énormément pour votre réponse rapide et votre aide !

Cependant je n'arrive pas à l'intégrer à mon code que j'ai partagé au dessus.... je ne sais pas vraiment quelle fonction il doit remplacer, je suis un peu perdu...

J'ai rentrer la variable en haut mais si vous pouvez m'indiquer ou rentrer cette fonction dans mon code ce serai super.

Désolé pour mon manque de connaissance sur VBA, encore merci pour votre aide.

Rechercher des sujets similaires à "vba ajouter variable fichier texte inserer"