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 :

Chemin relatif et explorateur [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Coordinateur Maintenance
    Inscrit en
    Mars 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Coordinateur Maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 20
    Par défaut Chemin relatif et explorateur
    Bonjour,

    J'ai pu effectuer un classeur Excel contenant des boutons me permettant d'ouvrir un explorateur Windows dont voici le code :
    EDIT (J'avais oublié de copier l'affectation des variables)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub DirisC60()
        Dim sChemin As String, sCRelatif As String, sCheInt As String
        sCRelatif = ActiveWorkbook.Path 'Chemin relatif
        sCheInt = "Projets\Diris C60" 'Chemin intermédiaire
        sChemin = (sCRelatif & "\" & sCheInt) 'Chemin final
        Shell "explorer.exe sChemin", 1 'Ouverture de l'explorateur
    End Sub
    Je suis malheureusement obligé d'utiliser un chemin relatif car on doit pouvoir utiliser ce classeur Excel depuis n'importe quel ordinateur et sur n'importe qu'elle session utilisateur.

    Information complémentaire :
    - Mon chemin "ActiveWorkbook.Path" correspond à "C:\Users\IDUsers\Documents"

    En utilisant le code cité plus haut, l'explorateur Windows s'ouvre bien mais il m'affiche le contenu du dossier "Documents" contrairement à ma demande de m'afficher le contenu du dossier "Diris C60".

    J'ai vérifié grâce à un "MsgBox(sChemin)" le chemin qu'il utilise et c'est bien le chemin : "C:\Users\IDUsers\Documents\Projets\Diris C60"

    J'ai donc essayé d'utiliser directement le chemin absolu pour tester le code en lui-même et il m'ouvre bien le contenu du dossier "Diris C60" dans ce cas-là.

    Pourriez-vous m'indiquer une solution à mon problème ?

    Merci,
    Doltd

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Tu pourrais essayer en ajoutant 2 lignes avant le Shell

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ChDrive "C"
    ChDir sChemin

  3. #3
    Membre averti
    Homme Profil pro
    Coordinateur Maintenance
    Inscrit en
    Mars 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Coordinateur Maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 20
    Par défaut
    Merci parmi de ta rapidité et de ta proposition

    Malheureusement, ça ne change rien au fait : il m'affiche toujours l'explorateur avec le contenu de "Documents".

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    À quoi te sers ce Shell ? ouvrir des documents autres qu'Excel ?
    Sinon, il y Application.GetOpenFilename() qui pourrait être utile
    Il y a aussi Application.FileDialog(msoFileDialogFolderPicker).

    Et je pense que dans les 2 cas, les ChDrive et ChDir seront pris en compte.

  5. #5
    Membre averti
    Homme Profil pro
    Coordinateur Maintenance
    Inscrit en
    Mars 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Coordinateur Maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 20
    Par défaut
    Shell me sert de fonction pour ouvrir un explorateur Windows.

    Le but de mon programme est que quand l'utilisateur clique sur le bouton, un explorateur Windows se lance avec le contenu du dossier correspondant au bouton (chaque ligne du tableau aura son bouton associé). Ainsi l'utilisateur aura le choix (que ce soit pour ouvrir, copier ou encore modifier un ou plusieurs fichier(s)).

    Si je me souviens bien Application.GetOpenFilename() permet d'ouvrir un seul fichier et ne permet pas de réaliser un copier de fichier.

    Par contre quand j'utilise Application.FileDialog(msoFileDialogFolderPicker) il m'affiche l'erreur "Utilisation incorrecte de la propriété".
    Je me suis renseigné sur l'aide Microsoft mais soit je n'ai pas compris son utilisation ni comment il fonctionne soit il ne correspond pas à mon problème.

    Au cas où, on l'utilise bien comme ça le "Application.FileDialog(msoFileDialogFolderPicker)" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub DirisC60()
        Dim sChemin As String, sCRelatif As String, sCheInt As String
        sCRelatif = ActiveWorkbook.Path 'Chemin relatif
        sCheInt = "Projets\Diris C60" 'Chemin intermédiaire
        sChemin = (sCRelatif & "\" & sCheInt) 'Chemin Final
        Excel.Application.FileDialog (msoFileDialogFolderPicker)
    End Sub
    PS: j'ai essayé avec et sans le "Excel." mais rien n'y fait

    Mais par rapport à ChDir et ChDrive, ils me permettent seulement de confirmer mon emplacement. Je ne suis pas sur d'en avoir réellement l'utilité dans ce code, si?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Essaie comme ceci pour voir

    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
    Sub DirisC60()
        Dim sChemin As String, sCRelatif As String, sCheInt As String
        sCRelatif = ActiveWorkbook.Path 'Chemin relatif
        sCheInt = "Projets\Diris C60" 'Chemin intermédiaire
        sChemin = (sCRelatif & "\" & sCheInt) 'Chemin Final
     
        With Application.FileDialog(msoFileDialogFolderPicker)
            .InitialFileName = sChemin 
            .Show
     
            If .SelectedItems.Count > 0 Then
                ChoixDossier = .SelectedItems(1)
            Else
                ChoixDossier = ""  'annulé
            End If
        End With
    End Sub

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

Discussions similaires

  1. Ouvrir l'explorateur sur un chemin relatif
    Par Avatar36 dans le forum Qt
    Réponses: 0
    Dernier message: 27/03/2015, 10h53
  2. Raccourci Chemin relatif pour la cible
    Par rabobsky dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 07/11/2005, 13h57
  3. [Plugin Tomcat] Chemin relatif
    Par cloogy dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 01/03/2005, 16h26
  4. [XSL-FO] Chemin relatif d'une image
    Par JustAGphy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/08/2004, 13h25
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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