![]() |
|
Forum
|
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
bonjour Ludovic , bonjour F.Launay
tu peux tester cette methode ( BrowseForFolder ) pour choisir un dossier et ensuite afficher le chemin Sub afficherCheminDosier_BrowseForFolder() Dim objShell As Object, objFolder As Object Dim SecuriteSlash As Integer Dim Chemin As String 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) & "" MsgBox Chemin End Sub bonne journée MichelXld |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Bonjour Michel, Bonjour f.launay, Rebonjour à toutes et à tous,
Merci pour vos réponses mais en fait , je connais le nom de mon dossier (mon_dossier), je veux juste mettre le chemin dans une variable (le_chemin) pour y accéder. Merci pour votre aide, je débute... Bon Dimanche. Ludovic |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
Re ... Michel,
Ce doit etre très simple, mais quand on débute, rien ne l'est. - J'ai donc un dossier (mon_dossier) - Je ne sais pas où il se trouve (C:\D1\...\Dx\mon_dossier) - Je veux juste céer une variable mon_chemin = "C:\D1\...\Dx\mon_dossier" J'espere avoir été plus explicite. Merci pour ton interet. Ludovic |
|
|
#7 (permalink) |
|
Guest
Messages: n/a
|
rebonjour Ludovic
avant d'aller plus loin : que veux tu dire par "Je ne sais pas où il se trouve " ? tu souhaites balayer tout le disque dur C:\ pour retrouver un dossier nommé "mon_dossier" ? bonne apres midi MichelXld |
|
|
#9 (permalink) |
|
Guest
Messages: n/a
|
rebonjour Ludovic
cet exemple permet de rechercher un dossier (nommé "wiki pages" dans l'exemple ) et d'afficher le chemin complet trouvé necessite d'activer la reference Microsoft Scripting RunTime dans Visual Basic Editor (Alt + F11) menu Outils References Coches la ligne "Microsoft Scripting RunTime" cliques sur OK pour valider inutile de dire que la recherche peut etre longue s'il y a beaucoup de dossiers sur le disque la macro ne prend pas en compte le fait qu'il puisse y avoir plusieurs dossiers portant le meme nom Option Compare Text Sub TestPresenceDossier() 'texté avec WinXP et Excel2002 Dim Racine As String Racine = "C:\" ListFilesInFolder Racine, True End Sub Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean) ' adapté de Ole P Erlandsen 'necessite d'activer la reference Microsoft Scripting RunTime Dim Fso As Scripting.FileSystemObject Dim SourceFolder As Scripting.Folder, SubFolder As Scripting.Folder On Error GoTo Fin Set Fso = CreateObject("Scripting.FileSystemObject") Set SourceFolder = Fso.GetFolder(SourceFolderName) If IncludeSubfolders Then For Each SubFolder In SourceFolder.subfolders If SubFolder.Name = "wiki pages" Then 'adapter le nom du dossier recherché MsgBox SubFolder.Path IncludeSubfolders = False End If ListFilesInFolder SubFolder.Path, IncludeSubfolders Next SubFolder End If Fin: End Sub bon apres midi MichelXld |
|
|
#10 (permalink) |
|
Guest
Messages: n/a
|
Rebonjour Michel,
la ligne ListFilesInFolder SubFolder.Path, IncludeSubfolders est pour afficher le chemin à l'écran ? à quoi sert 'IncludeSubfolders' le chemin complet est dans SubFolder.Path, si j'ai bien compris. Merci pour ta solution. Ludovic |
|
|
#11 (permalink) |
|
Guest
Messages: n/a
|
rebonjour Ludovic
le chemin complet est bien dans SubFolder.Path ListFilesInFolder est une procedure de Ole P Erlandsen qui permet d'effectuer la recherche dans tous les sous répertoires d'un dossier SubFolder.Path correspond au chemin des dossiers parcourus ( c'est l'information que tu recherches ) IncludeSubfolders est une variable boolean (True/False) qui permet de définir si l'on souhaite parcourir les sous dossiers . Dans l'exemple , lorqu'un dossier nommé "wiki pages" est trouvé , la variable IncludeSubfolders est passée à False pour arreter la recherche la ligne ListFilesInFolder SubFolder.Path, IncludeSubfolders permet donc de parcourir tous les répertoires et sous répertoires tant que la recherche est infructueuse ps est ce que la macro repond à ta demande ? bon apres midi MichelXld |
| Liens sociaux |
| Outils de la discussion | |
|
|