cello3135
Messages postés12Date d'inscriptionjeudi 14 décembre 2006StatutMembreDernière intervention 3 janvier 2007
-
3 janv. 2007 à 13:50
Nils_Reco_Vocale
Messages postés7Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention16 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
--------------------------------------------------------------------------------------------------------
cello3135
Messages postés12Date d'inscriptionjeudi 14 décembre 2006StatutMembreDerniè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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cello3135
Messages postés12Date d'inscriptionjeudi 14 décembre 2006StatutMembreDerniè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.
Nils_Reco_Vocale
Messages postés7Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention16 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 ?