Utiliser la valeur d'une cellule comme variable dans VBA
Bonjour,
J'ai un code qui fonctionne très bien mais est statique. Ce code liste sur une cellule les fichier se trouvant dans un dossier.
Le problème est que le chemin du dossier est dans le code, et cela le rend statique. Je voudrais que le chemin du dossier soit dans la cellule A3, de telle sorte que l'utilisateur puisse le changer à volonté.
Merci d'avance pour vos contribution.
Ci-dessous mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Sub ListeFichiers()
Dim Dossier
' Dossier = "C:\Users\Rasta\Bomboclat" 'Avec ça tout fonctionne bien, mais c'est statique!
Dossier = Cells(3, 1).Value '=>>>>>>> Le problème est ici, ça ne marche pas.
ListeFichiers Dossier
Columns("E:F").AutoFit
MsgBox "C'est prêt!!!", vbInformation, "RastaBomboclat"
End Sub
Sub ListeFichiers(Repertoire As String)
'
'Nécessite d'activer la référence "Microsoft Scripting RunTime"
'
Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.Folder
Dim SubFolder As Scripting.Folder
Dim FileItem As Scripting.File
Dim i As Long
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(Repertoire)
i = Range("F10000").End(xlUp).Row + 1
For Each FileItem In SourceFolder.Files
Cells(i, 6) = FileItem.Name
ActiveSheet.Hyperlinks.Add anchor:=Cells(i, 6), _
Address:=FileItem.ParentFolder & "\" & FileItem.Name
Cells(i, 7) = FileItem.Type
i = i + 1
Next FileItem
For Each SubFolder In SourceFolder.SubFolders
ListeFichiers SubFolder.Path
Next SubFolder
End Sub |