Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Nom et chemin d'un fichier

fileofish

XLDnaute Occasionnel
Bonjour le forum


J'espère que vous aller bien !
Peut être pourrez vous m'aider : Je souhaite récupérer le nom et chemin d'un fichier sélectionné
Le chemin fonctionne mais le nom du fichier ne fonctionne pas

Sub choix_fichiers()

Dim fichier As String
Dim File_name As String

With Application.FileDialog(msoFileDialogFilePicker)
.Show
On Error Resume Next
chemin = .SelectedItems.Item(1)
nomfich = Mid(chemin.Name, 1, InStrRev(chemin.Name, ".") - 1)
End With
If chemin <> "" Then Range("Chemin_du_fichier").Value = chemin
If chemin <> "" Then Range("Nom_du_fichier").Value = nomfich

End Sub


Avez vous une idée
Merci encore
Philippe
 

Roland_M

XLDnaute Barbatruc
bonjour,

un exemple :

Code:
Sub Choix_Fichiers()
Dim Chemin As String, Fichier As String
With Application.FileDialog(msoFileDialogFilePicker):  .Show
   Chemin = .SelectedItems.Item(1)
End With
If Chemin <> "" Then 'test !?
   Fichier = Mid(Chemin, InStrRev(Chemin, "\") + 1)
   Chemin = Left(Chemin, InStrRev(Chemin, "\") - 1)
   Range("Chemin_du_fichier").Value = Chemin
   Range("Nom_du_fichier").Value = Fichier
End If
End Sub
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Philippe, bonjour le forum,

Peut-être comme ça :

VB:
Sub choix_fichiers()

Dim Filename As String
Dim chemin As String
Dim fichier As String

With Application.FileDialog(msoFileDialogFilePicker)
    .Show
    On Error Resume Next
    Filename = .SelectedItems.Item(1)
    chemin = Left(Filename, InStrRev(Filename, "\", -1, vbTextCompare) - 1)
    fichier = Mid(Filename, InStrRev(Filename, "\") + 1)
End With
If chemin <> "" Then Range("Chemin_du_fichier").Value = chemin
If chemin <> "" Then Range("Nom_du_fichier").Value = fichier
End Sub
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Philippe, Roland_M, Robert

@fileofish

Pourquoi 2 fois les conditions if fichier <>"" then, puisque de toute façon tu vas le sélectionné??
Et si après coups tu te dis "Non j'en ai pas besoin"

If Filename = "" Then Exit Sub

VB:
On Error Resume Next
With Application.FileDialog(msoFileDialogFilePicker)
    .Show
    Filename = .SelectedItems.Item(1)
    If Filename = "" Then Exit Sub
       chemin = Left(Filename, InStrRev(Filename, "\"))
      fichier = Mid(Filename, InStrRev(Filename, "\") + 1)
End With
Range("Chemin_du_fichier") = chemin
Range("Nom_du_fichier") = fichier
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Pourquoi les conditions if fichier <>"" then, puisque de toute façon tu vas le sélectionné??
Rien de moins sûr…
Mais c'est vrai que j'aurais préféré à un moment If .SelectedItems.Count = 0 Then Exit Sub
Remarque: pour un seul fichier je trouve GetOpenFileName plus simple. Quelqu'un d'entre vous voit-il néanmoins une supériorité de FileDialog(msoFileDialogFilePicker) ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…