Selectionner un repertoire dans UserForm

Bonjour a tous,

alors voila mon problème : j'aimerait que dans un user form (Voir fichier joint) on puisse en selectionnant la TextBox afficher une fenêtre permettant de naviguer dans les repertoire, de la, selectionner un dossier, un fois selectioné et valider le chemin du dossier est inscrit dans la case, en cliquant sur le bouton "OK" cela ferme la fenetre et va placer la valeur du textbox dans la cellule encadré.

Après de nombreuses recherches sur des forums je ne trouve pas ...

Cela est-il possible ?

Merci beaucoup !

134test.xlsm (17.06 Ko)

Bonjour

Sélectionner le chemin d'accès d'un dossier, je ne sais pas faire.

En revanche, je sais répondre à ta demande pour un fichier : voir ci-joint.

Tu peux même écrire d'un coup les chemins de plusieurs dossiers contenus dans un même dossier.

Pour écrire en K3, sélectionne cette cellule avant de lancer la macro.

353test.xlsm (23.45 Ko)

Merci, c'est déja un bon début, mais oui il me faut exactement ce système mais pour un dossier !

merci beaucoup pour ton aide !

En bricolant la macro précédente, j'ai fait mieux puisque j'obtiens le chemin d'un dossier.

Mais il faut toujours sélectionner un fichier de ce dossier, n'importe lequel.

Cela ne marche donc pas pour un dossier vide.

344testv2.xlsm (25.43 Ko)

Cher Thimote,

Je viens de réaliser le même programme que vous,en utilisant la méthode suivante.

1. J'ai copier le nom de tous mes programmes excel sur une feuilles que j'ai appelée "Liste"

2. j'ai ensuite utilisé un programme que je peux vous donner, pour créer une feuille par programme (création d'onglets) et ensuite un autre programme qui affiche dans un UserForm une liste déroulante de chaque feuille

3.Dans chacune de ces feuille j'ai un lien hypertexte qui ouvre automatiquement le classeur voulu.

Je vous joins un exemple de ce fichier.

Amicalement

Papy Pierrot

Bonsoir,

Je me suis permis d'ajuster le code pour intercepter l'erreur quand on clique sur "Annuler" :

Dim FàOuvrir, Num, chemin, k, M

Sub ListeDesDocDansDossier()

   FàOuvrir = Application.GetOpenFilename(, , , , True)
   If Not IsArray(FàOuvrir) Then
      If FàOuvrir = False Then Exit Sub
   End If
   Num = 1
   Cells(3, 11).Value = FàOuvrir(Num)
   chemin = Cells(3, 11).Value
   For k = 63 To 1 Step -1
      M = Mid(chemin, k, 1)
      If M = "\" Then Exit For
   Next k
   Cells(3, 11).Value = Left(chemin, k - 1)

End Sub

Un petit conseil : évitez d'utiliser les accents et autre caractères spéciaux français dans le code, car celui-ci voyage très mal dans les versions non francophones (éèàïÎçË...)

J'ai une solution pour ouvrir un dossier, mais soit la recherche commence au niveau le plus haut (Bureau), soit à un endroit précis (par exemple C:\Mes Documents, mais dans le second cas, il n'est pas possible de revenir aux niveaux inférieurs (C:\ par exemple), ni de changer de disque :

Sub RechercheDossier()
     Cells(3, 11).Value = choisirFichier()
End Sub

Function choisirFichier()
    Dim objShell, objFile, chemin
    Set objShell = CreateObject("Shell.Application")
    Set objFile = objShell.BrowseForFolder(&H0&, "Choisissez un fichier", &H4000)
'    Set objFile = objShell.BrowseForFolder(&H0&, "Choisissez un fichier", &H4000, "C:\")
    On Error Resume Next
    chemin = objFile.ParentFolder.ParseName(objFile.Title).Path & ""
    If objFile.Title = "" Then
        chemin = ""
    End If
    choisirFichier = chemin
End Function

A toi de voir la meilleure méthode en fonction de ton besoin.

Bonsoir

et merci Bernead, la prochaine fois, je penserai à oublier (!) les accents ....

Rechercher des sujets similaires à "selectionner repertoire userform"