[VBA / Excel] Nom de fichier sans adresse

Bonjour,
j'utilise cette méthode pour ouvrir un fichier texte (.txt), puis j'afficher son adresse dans un textbox:

fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> "Faux" Then
Open fileToOpen For Input As #1

NomFic = fileToOpen

TextBox1.Text = NomFic

NomFic contient l'adresse complète de mon fichier ( C:\....\texte.txt), mais j'aimerai juste afficher le nom du fichier (texte.txt),
comment afficher juste le nom du fichier?

Merci
Configuration: Windows XP
Firefox 2.0.0.11

4 réponses

  1. Contributeur
    Bonjour

    Essaies ces instructions
    fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
    If fileToOpen <> "Faux" Then
    Open fileToOpen For Input As #1

    tablo = Split(fileToOpen, "\")
    NomFic = tablo(UBound(tablo))

    End If
    0
    1. Merci, ça marche.

      Mais n'y a-t-il pas une méthode moins sauvage que de créer un tableau?
      Du genre:

      NomFic = fileToOpen.name ?

      Merci
      0
      1. Contributeur
        Bin pourquoi tu demandes de l'aide, alors?
        filetoopen est une variable de type String!!! donc tonfiletoopen.name est un non-sens.
        0
        1. Contributeur
          Bonjour tous,
          Peut-être une autre façon pour avoir les données d'un fichier, mais tout aussi "SAUVAGE".
          Donnée uniquement à titre d'info.
          Sub AfficheInfoAccesFichier()
          Dim specfichier As String
          specfichier = CheminEtNomEtExt
              Dim fs, D, F, G, s
              Set fs = CreateObject("Scripting.FileSystemObject")
              Set F = fs.GetFile(specfichier)
              s = "Le nom du fichier est : " & F.Name & vbCrLf
              s = s & UCase(F.Path) & vbCrLf
              s = s & "Créé le : " & F.DateCreated & vbCrLf
              s = s & "Dernier accès le : " & F.DateLastAccessed & vbCrLf
              s = s & "Dernière modification le : " & F.DateLastModified
              MsgBox s, 0, "Infos sur le fichier : " &  F.Name 
          End Sub

          Bien sûr, tu peu n'employer que les 3 lignes qui t'intéresse
          A+
          0