[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
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
-
ContributeurBonjour
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
-
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 -
ContributeurBin pourquoi tu demandes de l'aide, alors?
filetoopen est une variable de type String!!! donc tonfiletoopen.name est un non-sens. -
ContributeurBonjour 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+