Bonjour à tous,

Je tente d rendre générique une fonction avec FolderPicker que je place dans un module :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Option Compare Database
Option Explicit
Public sItem As String
Function GetFolder(strPath As String) As String
 
Dim fldr As FileDialog
Dim sItem As String
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
 
With fldr
    .Title = "Choisissez un dossier"
    .AllowMultiSelect = False
    .InitialFileName = strPath
    If .Show <> -1 Then GoTo NextCode
    sItem = .SelectedItems(1)
End With
 
NextCode:
GetFolder = sItem
Set fldr = Nothing
 
End Function
J'appelle la fonction par un bouton sur un formulaire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Private Sub BtnPathAF_Click()
 
GetFolder ("c:\")
Me.PathAttestationsFiscales = sItem
Debug.Print sItem
 
End Sub
Or le champ ne reçoit pas le résultat de la variable sItem pourtant déclarée en Public dans le module et visible dans le Debug.Print, pourquoi ?

D'autre part y a t'il moyen que le chemin par défaut spécifié recherche le premier lecteur (hdd) rencontré sur le PC si des fois il ne s'agissait pas de "C:\" ?

Merci pour vos suggestions