Recherche répertoire

bqtr

XLDnaute Accro
Bonsoir tout le monde,

En recherchant sur le forum, j'ai trouvé cette macro de Pascal76 pour choisir un répertoire.

Dim objShell As Object, objFolder As Object
Dim SecuriteSlash As Integer


Set objShell = CreateObject("Shell.Application") 'recuperer nom repertoire cible
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)
On Error Resume Next
chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path
If objFolder.Title = "" Then chemin = ""
SecuriteSlash = InStr(objFolder.Title, ":")
If SecuriteSlash > 0 Then chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""

Elle fonctionne parfaitement, mais est ce que son auteur ou quelqu'un d'autre pourrait la commenter, car il y a des lignes que je ne comprends pas.

Question subsidiaire :

Est il possilble de ne pas afficher le bouton " Créer un nouveau Dossier" ?

Merci d'avance

Bonne soirée

P.O
 

MichelXld

XLDnaute Barbatruc
Re : Recherche répertoire

bonsoir


J'espère que ces infos pourront t'aider

Code:
Dim objShell As Object, objFolder As Object
Dim SecuriteSlash As Integer

'Crée une instance Windows Shell
Set objShell = CreateObject("Shell.Application")

'La méthode BrowseForFolder permet de créer une boite de dialogue
'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/objects/shell/browseforfolder.asp
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", &H1&)

On Error Resume Next
'Récupère le chemin sélectionné
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path

'objFolder.Title renvoie le dossier selectionné
'Verifie si l'utilisateur a cliqué sur la croix ou le bouton "Annuler"
If objFolder.Title = "" Then Chemin = ""

'Verifie si c'est la racine qui a été sélectionnée ( par exemple C: )
SecuriteSlash = InStr(objFolder.Title, ":")

'Si c'est la racine qui est sélectionnée , objFolder.Title renvoie une chaine de
'type "NomDisque(C:)
'La ligne suivante permet de remettre en forme pour obtenir C:
If SecuriteSlash > 0 Then Chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""


Bonne soirée
MichelXld
 

bqtr

XLDnaute Accro
Re : Recherche répertoire

Bonsoir MichelXld,

Merci pour les infos, je comprends un peu mieux.
Je suis allé à l'adresse indiquée chez microsoft, mais c'est en anglais et l'anglais et moi ca fait deux ! ( le francais aussi, par moment lol )

A tout hasard as tu une idée pour ma question subsidiaire.
Est ce seulement possible ?

Encore merci

A+

P.O
 
Dernière édition:

myDearFriend!

XLDnaute Barbatruc
Re : Recherche répertoire

Bonsoir bqtr, MichelXLD,

Bqtr à dit:
Question subsidiaire :

Est il possilble de ne pas afficher le bouton " Créer un nouveau Dossier" ?
Dans la ligne :
Code:
[SIZE=2][COLOR=NAVY]Set[/COLOR] objFolder = objShell.BrowseForFolder(&H0&, "Choisir un répertoire", [COLOR=Blue]&H1&[/COLOR])[/SIZE]
Tu peux remplacer la valeur &H1& par &H201&


Cordialement,
 

bqtr

XLDnaute Accro
Re : Recherche répertoire

Bonsoir myDearFriend!,

Merci c'est parfait, je vais pouvoir finir mon fichier. Ce bouton me genait car il risquait d'être une source d'erreur. Le but étant de rechercher un répertoire et non d'en créer un.

Bonne fin de nuit.

P.O
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 095
Messages
2 085 253
Membres
102 837
dernier inscrit
CRETE