Définir un dossier par défaut VBA

cello3135 Messages postés 12 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 janvier 2007 - 3 janv. 2007 à 13:50
Nils_Reco_Vocale Messages postés 7 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 16 janvier 2008 - 19 juil. 2007 à 12:17
Bonjour à tous,

Voilà une question qui va certainement sembler triviale pour certains mais qui ne l'est pas pour moi (je ne connais pas la syntaxe qui le permet).
Le code ci-dessous permet à l'utilisateur sous Excel lorsque la macro est lancée de sélectionner avec la souris un dossier à traiter.
Or, lorsque la fenêtre s'ouvre, elle se situe toujours sur l'écarn qui affiche comme choix le bureau, les favoris réseau et les documents du bureau. J'aimerais changer ce dossier par défaut pour que la fenêtre se mette directement dans le dossier de mon choix.

Quelqu'un peut-il m'indiquer la commande à rajouter dans ce code VBA?

Code VBA:
------------------------------------------------------------------------------------------------------------
Function ChoixDossierFichier(Racine, Optional SelType As Byte = 0)


Dim objShell, objFolder, Chemin, SecuriteSlash, FlagChoix&, Msg$


If SelType = 0 ThenFlagChoix &H1&: Msg "Choisissez un dossier :"
ElseFlagChoix &H4000&: Msg "Choisissez un fichier :"
End If


Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix, Racine)
On Error Resume Next
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
If objFolder.Title = "Bureau" Then
Chemin = "C:\Windows\Bureau"
End If
If objFolder.Title = "" Then
Chemin = ""
End If


SecuriteSlash = InStr(objFolder.Title, ":")


If SecuriteSlash > 0 Then
Chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""
End If
ChoixDossierFichier = Chemin
End Function
--------------------------------------------------------------------------------------------------------

Merci d'avance pour votre aide.
Bonne année!

6 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
3 janv. 2007 à 13:59
Salut,
As tu essayer de changer lors de l'appel de la fonction, la valeur du parapetre "Racine"?

@+: Ju£i?n
Pensez: Réponse acceptée
0
lemoret Messages postés 37 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 11 mars 2007
3 janv. 2007 à 15:30
0
cello3135 Messages postés 12 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 janvier 2007
3 janv. 2007 à 21:07
Bonsoir,

jrivet > C'est effectivement une solution (qui marche!) mais elle ne me permet pas de choisir un dossier qui est en "amont" du répertoire renseigné dans "Racine".

J'aimerais pouvoir en fait avoir une sorte d'éclaté qui me permette de remonter plus haut dans les dossiers si je le souhaite.

Mais merci pour ton aide!

lemoret> Je regarde pour cet API sous VBA et je reviens poster après mes tests. Merci
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
3 janv. 2007 à 21:37
 Bonsoir à tous

un bref exemple avec shell et BrowseForFolder.

BIF_returnonlyfsdirs   = &H0001
BIF_dontgobelowdomain  = &H0002
BIF_editbox            = &H0010
BIF_validate           = &H0020
BIF_browseforcomputer  = &H1000



Dim shell, item
Set shell = WScript.CreateObject("Shell.Application")
flag=BIF_returnonlyfsdirs
titre="Test de sélection de dossier"
Set Item = shell.BrowseForFolder(0,titre,flag, "D:\test1")
....



MsgBox Item.Title


jean-marc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cello3135 Messages postés 12 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 3 janvier 2007
3 janv. 2007 à 22:02
Bonsoir Jean-Marc,

Je n'arrive pas à voir la différence entre ton code et le mien.  A vrai dire, j'obtiens le même résultat et je n'arrive toujours pas à remonter en amont.

Y a-t-il une nuance que je ne vois pas?

Merci!
0
Nils_Reco_Vocale Messages postés 7 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 16 janvier 2008
19 juil. 2007 à 12:17
Même question, je cherche à avoir un selectfolder qui parte d'un dossier par défaut, mais qui permette de remonter dans l'arborescence...
Quelqu'un a une idée ?
0
Rejoignez-nous