Objet Scripting.FileSystemObject pour recuperer le nom du folder
Rebonjour, Je cherche a selectionner, aller dans le sous dossier le plus recent, c'est a dire finalement le dernier. Dans ma feuille le range nommé "Link_Folder" est un lien vers ce folder , puis dans ce folder , j'ai des folder yyyymmdd qui contiennent des workbooks. Mon idee est donc d'y aller de selectionner le nombre( ca c'est bon) et puis le le nom pour ensuite y aller (ca je saurais y aller) mais la mon code me sort une erreur aparement le nom c'est pas possible ..
Code:
1 2 3 4 5 6 7 8 9 10 11
| Sub test1234()
'lien fixe
Dim NbF As Integer
Dim Nom As String
Dim Folder As Folder
Dim folderPath As New Scripting.FileSystemObject
NbF = folderPath.GetFolder(ThisWorkbook.Worksheets("DB").Range("Link_Folder")).SubFolders.Count
Nom = folderPath.GetFolder(ThisWorkbook.Worksheets("DB").Range("Link_Folder")).SubFolders(NbF).Name
End Sub |
Bon bin je contourne le probleme
Malheureusement , je pense que ce n'est pas possible , je recherche meme sur des sites anglais , apparement c'est pas possible
donc j'ai trouvé une autre solution mais bon c'est pas super mais je la communique pour ceux que ca interesse.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Sub test1234()
'lien fixe
Dim NbF As Integer
Dim Nom As String
Dim Folders As Folders
Dim MyFolder As Folder
Dim Lien As String
Dim i As Long
Dim folderPath As New Scripting.FileSystemObject
NbF = folderPath.GetFolder(ThisWorkbook.Worksheets("DB").Range("Link_Folder")).SubFolders.Count
Set Folders = folderPath.GetFolder(ThisWorkbook.Worksheets("DB").Range("Link_Folder")).SubFolders
For Each MyFolder In Folders
i = i + 1
If i = NbF Then
Nom = MyFolder.Name
End If
Next MyFolder
Lien = folderPath.GetFolder(ThisWorkbook.Worksheets("DB").Range("Link_Folder") & Nom).Path
End Sub |
Voila, je recupere bien le dossier le plus recent, c'est a dire le dernier , puisque les noms des fichiers est une date yyyymmdd
je clos le sujet demain au cas ou quelqu'un veuille rajouter une idee.