XL 2010 [RESOLU] Chemin et nom fichier sans extension dans variables

cp4

XLDnaute Barbatruc
Bonjour:),

J'ai récupéré ce bout de code sur developpez.com.
VB:
Option Explicit

Sub ChoixFichier()
    'La variable est de type Variant car elle peut prendre les valeurs:
        'Booleenne: (Vrai/Faux) quand l'utilisateur ne sélectionne rien, ou annule l'opération.
        'String: pour renvoyer le nom du fichier sélectionné.
    Dim Fichier As Variant

    'Affiche la boîte de dialogue "Ouvrir"
    'Tous les fichiers
'   Fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
   
    'On sort si aucun fichier n'a été sélectionné ou si l'utilisateur
    'a cliqué sur le bouton "Annuler", ou sur la croix de fermeture.
    If Fichier = False Then Exit Sub

    'Affiche le chemin et le nom du fichier sélectionné.
    MsgBox Fichier 'chemin+fichier avec extension
    MsgBox Dir(Fichier) 'nom fichier avec extension'

End Sub
Mes recherches ont été infructueuses pour récupérer dans une variable le chemin du fichier sans le nom du fichier et dans une autre variable le nom du fichier sans extension. En effet, la longueur du nom du fichier est variable ainsi que l'extension de ce dernier ( .xls ou xlsx). Avec la fonction Dir, je récupère le nom du fichier avec son extension.
Merci pour votre aide pour solutionner mon problème.
 

cp4

XLDnaute Barbatruc
Rebonjour ;),

Je reviens vers vous car mon bonheur n’est pas complet avec les propositions du lien.
J’explique les tenants et aboutissants de ma démarche :
à partir de mon fichier, j’ouvre la boîte de de dialogue ‘’OUVRIR ‘’ d’Excel, je sélectionne un fichier.
Je voudrais donc récupérer des variables :
  • Le chemin du fichier sélectionné
  • Son nom sans l’extension
Dans le code joint au post#1 MsgBox Fichier me renvoie le chemin complet du fichier sélectionné à ouvrir (nom du fichier inclus avec l’extension).
En utilisant la proposition de David84 utilisant la méthode GetBaseName de l'objet FileSystemObject, j’arrive à récupérer le nom du fichier sans extension.
Comment récupérer juste le chemin du fichier ? C’est ce que je n’arrive pas à obtenir (pas d'idée à exploiter).
Merci à vous pour votre précieuse aide.
 

Pièces jointes

  • Essai1.xlsm
    17.8 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Essayez ça :
VB:
Sub ChercheChemin()
Dim Chemin, fich, i
Chemin = "G:\Users\PC_PAPA\Documents\_SYLVAIN\Technique\Excel\Essai.xlsm"
i = InStr(1, StrReverse(Chemin), "\", vbTextCompare)
   If i <> 0 Then
      fich = Left(Chemin, Len(Chemin) - i)  ' rajouter & "\" ou non suivant besoin
   End If
End Sub
fich contient le chemin ( rajoutez à la fin & "\" siuvant votre besoin.
 

cp4

XLDnaute Barbatruc
Re,
Essayez ça :
VB:
Sub ChercheChemin()
Dim Chemin, fich, i
Chemin = "G:\Users\PC_PAPA\Documents\_SYLVAIN\Technique\Excel\Essai.xlsm"
i = InStr(1, StrReverse(Chemin), "\", vbTextCompare)
   If i <> 0 Then
      fich = Left(Chemin, Len(Chemin) - i)  ' rajouter & "\" ou non suivant besoin
   End If
End Sub
fich contient le chemin ( rajoutez à la fin & "\" siuvant votre besoin.
C'est parfait:cool::cool::cool:. Merci beaucoup pour ton aide, ça va me permettre d'avancer.

Encore merci.;);):cool:
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 889
Membres
101 831
dernier inscrit
gillec