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 :

Remonter chemin d'accès [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut Remonter chemin d'accès
    Bonjour,

    Je souhaiterais pouvoir remonter le chemin d'accès du fichier actif.

    Pour l'instant j'ai ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub chemin()
    Dim fichier As String
     
    fichier = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, ".") - 1)
    MsgBox fichier
    End Sub
    Mais ce code ne remonte que une lettre par une lettre. Or j'aimerais qu'il remonte d'un \ par un \.

    Comment faire


    Merci

  2. #2
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Le code actuel, ne remonte pas d'une lettre, il enlève l'extension. La seule chose c'est qu'il manque une vérification que "." est bien trouvé.
    Mais tu peux faire la même chose en cherchant "\".

  3. #3
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut
    J'ai essayé avec un "\" mais il ne remonte que d'une lettre par une lettre.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub chemin()
    Dim fichier As String
     
    fichier = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\") - 2)
    MsgBox fichier
    End Sub

  4. #4
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Je ne sais pas comment tu utilises ton code, mais à mon avis le problème c'est que tu repars toujours du chemin initial. Utilise une fonction du genre :
    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
    Public Function CheminParent(ByVal chemin As String) As String
        Dim slashPos As Integer
     
        'On vérifie d'abord qu'il n'y a pas de \ en dernière position
        If Right(chemin, 1) = "\" Then chemin = Left(chemin, Len(chemin) - 1)
     
        'Ensuite on cherche la position du dernier \
        slashPos = InStrRev(chemin, "\")
     
        If slashPos = 0 Then
            CheminParent = chemin
        Else
            CheminParent = Left(chemin, slashPos - 1)
        End If
    End Function

  5. #5
    Membre éclairé
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Par défaut
    Merci pour cette réponse.

    Cependant... je ne suis pas très calé en vba Quelques notions mais... rien de plus

    comment je récupère mon chemin dans un msgbox ensuite ?

    Merci

  6. #6
    Membre Expert Avatar de ZebreLoup
    Homme Profil pro
    Ingénieur Financier
    Inscrit en
    Mars 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Financier
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 994
    Par défaut
    Tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox CheminParent(ThisWorkbook.Path)
    Et si par exemple tu veux remonter de 2 crans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim s As String
    s = CheminParent(ThisWorkbook.Path)
    s = CheminParent(s)
    MsgBox s

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

Discussions similaires

  1. Chemin d'accès de MySQL sous linux
    Par sylvain_neus dans le forum Installation
    Réponses: 6
    Dernier message: 17/03/2004, 10h39
  2. Réponses: 12
    Dernier message: 16/03/2004, 14h21
  3. Récupérer le chemin d'accés du PFile.
    Par Laurent Dardenne dans le forum Administration
    Réponses: 7
    Dernier message: 03/02/2004, 17h21
  4. Chemin d'accès d'un fichier
    Par guitaros dans le forum Langage
    Réponses: 6
    Dernier message: 16/01/2004, 09h27
  5. Chemin d'accès au clip et scenario en flash
    Par Gential dans le forum Flash
    Réponses: 4
    Dernier message: 28/02/2003, 10h10

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