IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Récupérer nom fichier sélectionné [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Points : 56
    Points
    56
    Par défaut Récupérer nom fichier sélectionné
    Bonjour à tous,

    Je cherche à récupérer le nom d'un fichier que j'ai sélectionné à l'aide de l'application FileDialog (code ci dessous)
    Mais que le nom et pas tout le chemin.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim Repertoire As FileDialog
     
    Set Repertoire = Application.FileDialog(msoFileDialogFilePicker)
     
    'NomFichier = ?
    Merci pour votre aide

  2. #2
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Si tu ne sélectionnes qu'un seul fichier à la fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Test1()
    Dim Chemin As String, NomFic As String
      Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = False
      Application.FileDialog(msoFileDialogFilePicker).Show
      Chemin = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(1)
      NomFic = Split(Chemin, "\")(UBound(Split(Chemin, "\")))
      MsgBox NomFic
    End Sub
    Cordialement,
    Franck

  3. #3
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2014
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 66
    Points : 56
    Points
    56
    Par défaut
    Perfect ! Thank you

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    Bonjour,

    Oui, j'ai au moins deux manières différentes en tête, dépendant de l'usage que vous voulez faire de votre variable 'Nom Fichier":

    1. Vous passez par un split de votre retour du filedialog, du style et vous récupérez l'enregistrement max

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Split(FilePath, "/", , vbTextCompare)
    2. Passez par le File System Object, du style (adapté mais non testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    Function FS_RetFileN(ByVal FilePath As String) As String
    '=============================================================================
    ' Extract the file name based on the File Full Path
     
     
    Dim FSO As Scripting.FileSystemObject
    Dim FFile As Scripting.File
     
        Set FSO = New Scripting.FileSystemObject
        Set FFile = FSO.GetFile(FilePath) 
     
     
         FS_RetFileN= FFile.Name
    End Function
    Si ça peut vous aider
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Que d'usines à gaz alors qu'un simple Dir suffit.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Septembre 2013
    Messages
    783
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 783
    Points : 1 562
    Points
    1 562
    Par défaut
    C'est vrai .... mais sauf erreur, le dir ne fonctionne pas sur les disques réseaux non mappés ou les sharepoints et passer par le FSO si quelquechose est fait sur le fichier après coup est finalement bien plus 'concis'
    Juste mon point de vue ....

    Bonne journée
    "Idéalement nous sommes ce que nous pensons. Dans la réalité, nous sommes ce que nous accomplissons." A.Senna
    et n'oubliez-pas de développer des .... sourires ^_^

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Ce n'est pas du "Excel pur", mais jute pour le fun

    http://frederic.sigonneau.free.fr/co...chierTexte.txt
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.3] Récupérer nom fichier + nom répertoire
    Par DarkSeiryu dans le forum Langage
    Réponses: 12
    Dernier message: 25/05/2010, 12h25
  2. Récupérer nom fichier sans extension
    Par Newenda dans le forum MATLAB
    Réponses: 3
    Dernier message: 07/12/2009, 15h49
  3. Réponses: 0
    Dernier message: 29/04/2008, 15h33
  4. [VBA]récupérer nom fichier
    Par jackfred dans le forum Général VBA
    Réponses: 4
    Dernier message: 27/04/2007, 19h57
  5. Réponses: 3
    Dernier message: 13/12/2005, 00h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo