Bonsoir tout le monde.

Je me retourne vers vous et votre savoir afin que vous puissiez m'aider ou me mettre sur la voie d'une idée.

Je tiens a préciser que j'ai utilise mon ami google et mes neurones, mais pas de chances pour moi cela n'a rien donne malheureusement

J'explique mon problème.

Dans l'application, l'utilisateur clique sur un bouton et celui ci ouvre une boite de dialogue, la personne choisit son fichier et le chemin du fichier s'indique dans une textbox

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub CommandButton1_Click()
Dim NomFichier As String
Label1.Caption = "Ce label renvoie le nom du fichier sélectionné."
' Initialize le répertoire par défaut
CommonDialog1.InitDir = "D:\Temporaire"
' Initialize le titre du CommonDialogBox
CommonDialog1.DialogTitle = "Ceci est un test"
' On utilise le CommonDialogBox pour Ouvrir un fichier
CommonDialog1.ShowOpen
' Récupère le nom du fichier sélectionné
NomFichier = CommonDialog1.FileName
' Affiche le nom du fichier récupéré
Label1.Caption = NomFichier
End Sub
A partir de la tout va bien, puis j'insère une autre code qui me permet la de récupérer le dossier encore la aucun problèmes

Je vous donne le code utilisé :

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Option Explicit
 
Private Const BIF_RETURNONLYFSDIRS = 1
Private Const BIF_DONTGOBELOWDOMAIN = 2
Private Const MAX_PATH = 260
 
Private Declare Function SHBrowseForFolder Lib _
"shell32" (lpbi As BrowseInfo) As Long
 
Private Declare Function SHGetPathFromIDList Lib _
"shell32" (ByVal pidList As Long, ByVal lpBuffer _
As String) As Long
 
Private Declare Function lstrcat Lib "kernel32" _
Alias "lstrcatA" (ByVal lpString1 As String, ByVal _
lpString2 As String) As Long
 
Private Type BrowseInfo
   hWndOwner As Long
   pIDLRoot As Long
   pszDisplayName As Long
   lpszTitle As Long
   ulFlags As Long
   lpfnCallback As Long
   lParam As Long
   iImage As Long
End Type
 
 
Private Sub Command1_Click()
'Opens a Browse Folders Dialog Box that displays the 
'directories in your computer
Dim lpIDList As Long ' Declare Varibles
Dim sBuffer As String
Dim szTitle As String
Dim tBrowseInfo As BrowseInfo
 
szTitle = "Hello World. Click on a directory and " & _
"it's path will be displayed in a message box"
' Text to appear in the the gray area under the title bar
' telling you what to do
 
With tBrowseInfo
   .hWndOwner = Me.hWnd ' Owner Form
   .lpszTitle = lstrcat(szTitle, "")
   .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN
End With
 
lpIDList = SHBrowseForFolder(tBrowseInfo)
 
If (lpIDList) Then
   sBuffer = Space(MAX_PATH)
   SHGetPathFromIDList lpIDList, sBuffer
   sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
   MsgBox sBuffer
End If
 
End Sub
Mais le chemin de destination se met dès lors dans un MsgBox

J'ai essaye a plusieurs reprises de changer cela, car j'aimerais que ce chemin ne s'affiche pas dans la MsgBox mais dans une textbox

J'ai essaye diverses techniques mais sans résultat

Je vous remercie d'avance pour votre aide