Need help!

batteur_fou Messages postés 15 Date d'inscription mardi 26 juin 2007 Statut Membre Dernière intervention 22 décembre 2007 - 24 oct. 2007 à 18:00
cs_lecorsaire59 Messages postés 39 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 17 octobre 2008 - 25 oct. 2007 à 09:21
Bonjour à toutes et tous, j'ai besoin de vous!
En tant que profane en matière de VBA sur excel, je vous demanderai d'être le plus précis possible dans votre réponse...
Ma question est simple : je voudrai dans ma userform un bouton qui m'ouvre un petit explorer pour sélectionner un dossier dont le chemin d'accès apparaitra dans une textbox. Ca a l'air simple mais ca me depasse...

Merci d'avance!

4 réponses

xpmich Messages postés 62 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 11 mars 2010
24 oct. 2007 à 20:00
Bonjour,

 1- Vérifie que sur ta boite à outil tu possède bien le contrôle "CommondDialog"
    a-Si tu ne l'as pas : clic droit sur ta boite à outil => "contôles supplémentaires..." et ajoute '"Microsoft Commun Dialog"

2- ajout une commondDialog sur ta form (qui ne se véra pas au lancement)

3- mettre dans ton code de ton boutton :
    CommonDialog1.ShowOpen     'ouvrir un fichier
    CommonDialog1.ShowPrinter   'sélectionner une imprimante
    CommonDialog1.ShowSave      'sauvegarder
4- regarder les propriétés de la commonDialog pour le choix des filtres
5- je cherche toujours comment récupérer le fichier

Bon prog
0
trisection Messages postés 1 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 24 octobre 2007
24 oct. 2007 à 20:06
Voici un petit début: un programme pour afficher sur la feuille de calcul
Vois les fonctions dans l'aide excel

Sub direct()
'
' direct Macro
' Macro enregistrée le 04/09/2005 par  xxx
' Affiche les noms dans C:\ représentant des dossiers.

Dim  chemin, nom
chemin = "c:"
nom = Dir(chemin, 16)
i = 1
Do While nom <> ""    If nom "." Or nom ".." Then Exit Do    If GetAttr(chemin & nom) And 16 16 Then Cells(i, 1) nom: i = i + 1
 
   nom = Dir    ' Extrait l'entrée suivante.
Loop
'
End Sub
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 oct. 2007 à 03:05
Et il reste la fonction interne à Excel
Application.GetOpenFielename

Mais tu parles de dossier...
Si ce ne sont que les dossiers que tu veux afficher et pas les fichiers, il y a l'API
SHBrowseForFolder
Tu trouveras des exemples sur ce site avec un peu de recherche.

MPi²
0
cs_lecorsaire59 Messages postés 39 Date d'inscription mardi 9 octobre 2007 Statut Membre Dernière intervention 17 octobre 2008
25 oct. 2007 à 09:21
le pb a été résolu hier sur la feuille copier chemin d'accès
le code est le suivant :
Private Sub cmdBrowse_Click()

Dim objShell, objFichier, objFichierChoisi
 
   Set objShell = CreateObject("Shell.Application")
  
Set objFichier = objShell.BrowseForFolder(&H0&, "Choisir le
fichier", conReturnOnlyFSDirs + conNoNewFolderButton +
conBrowseIncludeFiles)
 
   If objFichier Is Nothing Then
      MsgBox "Vous n'avez rien sélectionné", vbCritical, "Abandon"
      Wscript.Quit
   Else
      Set objFichierChoisi = objFichier.Self
      Cells(10, 2) = objFichierChoisi.Path ' attention la cellule B10 était la cellule cible 'a toi d'adapter pour le reste tu peux copier coller ca doit passer
   End If
 
   Set objShell = Nothing
   Set objFichier = Nothing
   Set objFichierChoisi = Nothing

End Sub

dis moi si ca passe
0
Rejoignez-nous