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 :

Couper un chemin d'accès pour n'avoir que le nom du fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Couper un chemin d'accès pour n'avoir que le nom du fichier
    Bonjour à tous,

    Comme dit dans le titre, je souhaite couper un chemin d'accès afin de ne garder que la dernière partie pour n'afficher que le nom de fichier.

    Pour l'instant, j'obtiens le nom de mon fichier avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom_Fichier = Application.GetOpenFilename(, , "Sélectionnez la sensibilité à extraire")
    Donc j'obtiens un résultat du type :

    C:\Users\UserName\RepertoireA\file.xls

    Ce que je souhaite faire au final, c'est pouvoir récupérer "file.xls".

    Quelqu'un pourrait-il m'aider ?

    Merci d'avance

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    déjà :
    l'utilisation de InstrRev te permet d'obtenir la position (appelons-la Pos) tu dernier "\"'
    La fonction Mid (en utilisant la valeur de Pos + 1) extraiera tout ce quit vient après ce "\"

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    220
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Septembre 2007
    Messages : 220
    Points : 177
    Points
    177
    Par défaut
    voici une fonction qui peut t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function ExtractFileName(ByVal sFullPath As String) As String
        If InStr(sFullPath, "\") = 0 Or Right(sFullPath, 1) = "\" Then
            ExtractFileName = ""
            Exit Function
        End If
        ExtractFileName = Mid(sFullPath, InStrRev(sFullPath, "\") + 1)
    End Function
    Mél

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Parfait !! Merci beaucoup ucfoutu

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Points : 306
    Points
    306
    Par défaut
    Autres possibilités.

    Pour avoir le nom seul:

    Ou alors une fonction qui décompose le texte en fonction d'un (ou plusieurs) caractères

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Tableauadresse=split(actiworkbook.path,"/")
    'l'adresse est décomposé dans un tableau dont chaque ligne (de 0 à n)
    ' contient un morceau de l'adresse.
     
    'on peut alors recomposer l'adresse par :
    for i = Lbound(tableauadresse) to Ubound(tableauadresse)
           adresse=adresse & "/" & tableauadresse(i)
    next i
     
    'on supprime le 1er "/"
    adresse = right(adresse, len(adresse)-1)
     
    'Forcément, le nom du fichier était dans la dernière case du tableau
    Nomfichier = Ubound(tableauadresse)
    On peut aussi remonter un chemin
    Pour remonter dans le répertoir au dessus du fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i = Lbound(tableauadresse) to Ubound(tableauadresse)-1
           adresse=adresse & "/" & tableauadresse(i)
    next i
     
    'on supprime le 1er "/"
    monchemin= right(adresse, len(adresse)-1)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/12/2009, 17h42
  2. chemin d'acces pour classe
    Par DEVfan dans le forum C++
    Réponses: 3
    Dernier message: 16/08/2007, 08h31
  3. N'avoir que les noms de fichier via la commande ls -l
    Par fde_amadeus dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 26/10/2006, 18h33
  4. [VB.NET] reduction chemin d'accès pour affichage ?
    Par lacsap49 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/10/2006, 23h02
  5. Réponses: 2
    Dernier message: 10/09/2006, 13h28

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