[VBA / Excel] Nom de fichier sans adresse

Fermé
sfritz Messages postés 41 Date d'inscription jeudi 9 octobre 2008 Statut Membre Dernière intervention 1 janvier 2014 - 4 déc. 2008 à 08:32
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 4 déc. 2008 à 12:47
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

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 déc. 2008 à 10:52
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
sfritz Messages postés 41 Date d'inscription jeudi 9 octobre 2008 Statut Membre Dernière intervention 1 janvier 2014 6
4 déc. 2008 à 12:07
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
4 déc. 2008 à 12:20
Bin pourquoi tu demandes de l'aide, alors?
filetoopen est une variable de type String!!! donc tonfiletoopen.name est un non-sens.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
4 déc. 2008 à 12:47
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