Selection d'un fichier txt

Bonjour,

Pourriez-vous m'aider à modifier mon code, afin que je puisse sélectionner un fichier dans l'arborescence de mon PC plutôt qu'avoir à le rentrer en dur.

Merci d'avance, les développeurs.

Ci-joint vous trouverez le fichier correspondant.

Sub Lire_Fichier_Texte_PRINT1a()
' Lecture de fichier texte écrit avec PRINT
' Utilisation de la commande LINE INPUT qui lit une ligne au complet

   Dim i As Long, j As Long, ar
   Dim sRepertoire As String, sNomFichier As String
   Dim iFile As Integer
   Dim data
   Dim ws As Worksheet

   sRepertoire = "T:\ISh\Prg\IS\L1\"             '// doit terminer avec un "\"
    'Sélection fichier

'Finfo = "fichiers texte (*.txt),*.txt,"
'FiltreDefaut = 1
'Titre = "selectionnez le fichier "
'sNomFichier = Application.GetOpenFilename(Finfo, FiltreDefaut, Titre)

   sNomFichier = "835OF2.txt"

   Set ws = Sheets("Écriture")          '// feuille où écrire les résultats
   ws.UsedRange.Clear                   '// vider le contenu de la feuille

   'Ouvrir le 1er fichier
   iFile = FreeFile
   Open sRepertoire & sNomFichier For Input As #iFile

   'Lecture du fichier et écriture dans Excel
   i = 1
   Do Until EOF(iFile)
      Line Input #iFile, data
      ws.Cells(i, 1) = data
      i = i + 1
   Loop

   'Fermer le fichiers
   Close #iFile
   Call MiseEnPageAvantTraitement
   Call macrotest
End Sub

Bonjour,

une proposition de modification de ton code

Sub Lire_Fichier_Texte_PRINT1a()
' Lecture de fichier texte écrit avec PRINT
' Utilisation de la commande LINE INPUT qui lit une ligne au complet

   Dim i As Long, j As Long, ar
   Dim sRepertoire As String, sNomFichier As String
   Dim iFile As Integer
   Dim data
   Dim ws As Worksheet
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    With fd
    .Title = "ouvrir fichier texte"
            .Filters.Clear
        .Filters.Add "text file", "*.txt"
        .AllowMultiSelect = False
        If .Show = -1 Then
           sNomFichier = .SelectedItems(1)
           End If
        End With

  Set ws = Sheets("Écriture")          '// feuille où écrire les résultats
  ws.UsedRange.Clear                   '// vider le contenu de la feuille

   'Ouvrir le 1er fichier
  iFile = FreeFile
   Open sNomFichier For Input As #iFile

   'Lecture du fichier et écriture dans Excel
  i = 1
   Do Until EOF(iFile)
      Line Input #iFile, data
      ws.Cells(i, 1) = data
      i = i + 1
   Loop

   'Fermer le fichiers
  Close #iFile
   Call MiseEnPageAvantTraitement
   Call macrotest
End Sub

Merci beaucoup, ça répond bien à ma question

Rechercher des sujets similaires à "selection fichier txt"