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
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
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
Je vous donne le code utilisé :
Mais le chemin de destination se met dès lors dans un MsgBox
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
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
Partager