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 :

Ouvrir chemin d'accès d'un fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut Ouvrir chemin d'accès d'un fichier
    Bonjour,

    ce code suivant me permet d'ouvrir le chemin d'accès de mon répertoire.et j'aimerais avoir un code qui me permet d'afficher le chemin d'accès de mon fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ParcourirEmplacementPlan_Bouton_Click()
    On Error Resume Next
      Dim Chemin As String, dossier As String
     Chemin = Me.EmplacementPlan_Champ
     With Application.FileDialog(msoFileDialogFolderPicker)
     .InitialFileName = Chemin
     .Show
     If .SelectedItems.Count > 0 Then dossier = .SelectedItems(1)
     End With
    end sub
    merci d'avance

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    la propriété Path d'un objet Workbook permet de connaître le chemin du répertoire de cet objet.
    Ainsi le code ci-dessous permet d'afficher le chemin du classeur où se trouve le code VBA
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox ThisWorkbook.Path
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    j'aimerais ouvrir le chemin d'accès d'un fichier

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par mia.555 Voir le message
    Ca, c'est pas beau.
    Je te le déconseille fortement.
    Mieux vaut anticiper clairement les cas de dysfonctionnement pour les gérer spécifiquement que de balancer un On Error en début de code qui n'est qu'un emplâtre sur une jambe de bois, c'est à dire qui masque les problèmes au lieu de les résoudre.

    Citation Envoyé par mia.555 Voir le message
    j'aimerais ouvrir le chemin d'accès d'un fichier
    Qu'est-ce que tu appelles "ouvrir un chemin" ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    merci pour votre remarque. J'aimerais parcourir sur le chemin c'est à dire l'emplacement de mon fichier si une fois l'emplacement est renseigné sur cette capture. Le code que j'ai au début me permet de parcourir sur le répertoire dans lequel mon fichier est rattaché.

    Nom : Capture.PNG
Affichages : 4586
Taille : 937 octets

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tu n'as pas clairement répondu à la question mais si cette ouverture est dans le but d'ouvrir un fichier, alors tu peux utiliser GetOpenFilename en combinaison avec le ThisWorkbook.Path que t'a proposé Philippe Tulliez.
    https://msdn.microsoft.com/fr-fr/lib.../ff834966.aspx

  7. #7
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Est ce que c'est possible de l'ouvrir à partir du bouton parcourir?
    cette ouverture est dans le but d'ouvrir à partir du bouton partir du bouton parcourir le chemin du fichier

  8. #8
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Désolé mais si tu persistes à ne pas faire d'effort pour donner des explications claire sur ce que tu fais et ce que tu veux faire, je ne pourrais pas t'aider.

  9. #9
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Je m'explique, j'ai mon fichier qui est /mv/documents/dossier1/monfichier .Ainsi j'aimerais qu'une fois que je clique sur le bouton parcourir que ça ouvre une boite de dialogue qui se positionne automatiquement sur monfichier

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ca, je l'ai compris.
    Mais je suppose que si tu ouvres cette boite de dialogue, ce n'est pas uniquement pour l'admirer.
    Que veux-tu sélectionner dans cette boite de dialogue ?
    Que comptes-tu faire avec ce que tu auras sélectionné ?

    Ce n'est pas pour t'embêter que je demande ça mais le code dépend de ces réponses.

  11. #11
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Ma boite de dialogue s'ouvre sur "c:/Mes documents" et moi j'aimerais qu'elle s'ouvre sur mon chemin d'accès que j'ai mis sur mon champ emplacement.

  12. #12
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    J'ai posé deux questions simples et claires. Tu n'y réponds pas.
    Assez perdu de temps inutilement à essayer de te tirer les vers du nez pour que tu daignes fournir les informations nécessaires à la résolution de ton problème.
    Je laisse tomber.

    Bonne chance

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Exemple d'une fonction qui utilise la boîte de dialogue Ouverture de fichier
    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
    17
    Function FileOpen(Optional Folder As String) As String
      Dim dlgOpen As FileDialog, FileName As String
      Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
      ' Si l'argument n'est pas rempli, sélection du dossier de ThisWorkbook
      If Len(Folder) = 0 Then Folder = ThisWorkbook.Path
      With dlgOpen
      .Title = "Sélection de fichier"
      .InitialFileName = Folder
      .InitialView = msoFileDialogViewDetails
        If .Show Then
            FileName = .SelectedItems(1)
            FileOpen = Mid(FileName, InStrRev(FileName, "\") + 1)
          Else
            FileOpen = ""
        End If
      End With
    End Function
    Instruction appelante
    ou
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Main()
     Dim File As String
     File = FileOpen
     If Len(File) Then
        MsgBox "Ouverture de " & File
      Else
        MsgBox "Vous n'avez pas sélectionné de fichier"
      End If
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  14. #14
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Merci Philippe , ça marche bien mais le problème est que je n'arrive pas à changer le chemin d'accès. Par exemple il m'arrive des fois de choisir un autre fichier que celui qui était dans mon champ emplacement. Et la il n'enregistre pas ce chemin sur mon champ

  15. #15
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Merci à tous .ça marche .Voici le code:
    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
    17
    18
    19
    Function FileOpen(Optional Folder As String) As String
      Dim dlgOpen As FileDialog, FileName As String
      Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
      ' Si l'argument n'est pas rempli, sélection du dossier de ThisWorkbook
      If Len(Folder) = 0 Then Folder = Me.EmplacementPlan_Champ
      With dlgOpen
       .AllowMultiSelect = False
      .Title = "Sélection de fichier"
      .InitialFileName = Folder
      .InitialView = msoFileDialogViewDetails
        If .Show Then
            FileName = .SelectedItems(1)
            FileOpen = Mid(FileName, InStrRev(FileName, "\") + 1)
            Me.EmplacementPlan_Champ = .SelectedItems(1)
          Else
            FileOpen = ""
        End If
      End With
    End Function

  16. #16
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Merci à tous .ça marche .Voici le code:
    Est-ce que je peux savoir quelle différence il y a entre le code que je t'ai proposé et celui que tu publies ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  17. #17
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Bonjour Philippe,

    C'est le même c'est juste que j'ai ajouté deux lignes de code. Merci

  18. #18
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 114
    Billets dans le blog
    53
    Par défaut Fonction renvoyant le chemin complet + nom de fichier avec boîte de dialogue
    Bonjour Mia,
    Bonjour Philippe,
    C'est le même c'est juste que j'ai ajouté deux lignes de code. Merci
    Le but d'une fonction est en principe de récupérer une valeur et en plus de pouvoir l'utiliser dans d'autres procédures du même projet voire de la réutiliser dans d'autres projets.
    Ta demande devient enfin plus claire, tu voulais à la fois forcer la boîte de dialogue à afficher les classeurs d'un répertoire définit et en plus de récupérer le chemin complet de celui-ci.

    En ajoutant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.EmplacementPlan_Champ = .SelectedItems(1)
    dans la fonction que j'ai publiée, tu te coupes de toutes possibilités de l'utiliser ailleurs que dans le UserForm où tu as placé un TextBox nommé EmplacementPlan_Champ (c'est du moins ce que j'ai deviné).

    Au lieu de modifier la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Len(Folder) = 0 Then Folder = ThisWorkbook.Path
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Len(Folder) = 0 Then Folder = Me.EmplacementPlan_Champ
    Il était plus cohérent d'appeler la fonction en lui passant Me.EmplacementPlan_Champ comme paramètre permettant ainsi d'avoir le Path du classeur dans le cas où la valeur de Me.EmplacementPlan_Champ est vide

    Voici ma fonction (rebaptisée FullNameDlgBoxOpen) remaniée et utilisable avec ou sans la multi sélection puisque tu as également ajouté cette ligne
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Function FullNameDlgBoxOpen(Optional dlgFolder As String, _
                             Optional IsAllowMultiSelect As Boolean) As String
     ' http://philippe.tulliez.be
     ' Fonction renvoyant une chaîne de caractères du ou des fichiers sélectionnés
     '          contenant le chemin complet + nom fichier des fichiers sélectionnés
     '          Les chaînes sont séparées par un ; si plus d'un fichier sélectionné
     ' Arguments
     ' [dlgFolder]          (String)  Chemin où doit se faire la sélection
     '                                Si l'arguement est vide, le chemin est celui du classeur
     ' [IsAllowMultiSelect] (Boolean) Indique si la multi*sélection est autorisée (True)
     Dim dlgOpen As FileDialog, myTable(), Elem As Integer
     Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
     ' Si l'argument n'est pas rempli, sélection du dossier de ThisWorkbook
     If Len(dlgFolder) = 0 Then dlgFolder = ThisWorkbook.Path
     With dlgOpen
     .AllowMultiSelect = IsAllowMultiSelect
     .Title = "Sélection de fichier"
     .InitialFileName = dlgFolder
     .InitialView = msoFileDialogViewDetails
      If .Show Then
       For Elem = 1 To .SelectedItems.Count
        ReDim Preserve myTable(Elem - 1): myTable(Elem - 1) = .SelectedItems(Elem)
       Next
       FullNameDlgBoxOpen = Join(myTable, ";") ' .SelectedItems(1)
      End If
     End With
    End Function
    Procédure à placer dans un module standard (utilisable ainsi depuis n'importe quelle autre procédure du projet) mais bien entendu peut également être placée dans le UserForm

    Dans UserForm il suffit d'appeler la fonction avec argument comme ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cmdOpenDlgFile_Click()
     Me.EmplacementPlan_Champ = FullNameDlgBoxOpen(Me.EmplacementPlan_Champ)
    End Sub
    On pourrait aussi ajouter un argument pour le titre de la boîte de dialogue, pour ne renvoyer que le chemin sans le nom du fichier, etc.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. syntaxe pour le chemin d'acces a un fichier
    Par niarkyzator dans le forum Delphi
    Réponses: 3
    Dernier message: 19/12/2006, 19h23
  2. Récupérer le chemin d'accés d'un fichier
    Par massol joel dans le forum Contribuez
    Réponses: 2
    Dernier message: 24/10/2006, 16h03
  3. [VBA-E]récupérer le chemin d'accès d'un fichier
    Par gil68 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/02/2006, 18h50
  4. Réponses: 5
    Dernier message: 07/05/2004, 09h44
  5. Chemin d'accès d'un fichier
    Par guitaros dans le forum Langage
    Réponses: 6
    Dernier message: 16/01/2004, 09h27

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