Citation:
Envoyé par Bazoom
Je comprends pas... Où mettre:
parce que moi ca ne marche pas...Code:
1
2 Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Idir
Version imprimable
Citation:
Envoyé par Bazoom
Je comprends pas... Où mettre:
parce que moi ca ne marche pas...Code:
1
2 Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Idir
Puisqu'il faut tout te dire...
Suffit de tout mettre dans l'ordre... mais pour ça faut être ordonné :mouarf: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
44
45
46
47
48
49
50 Private Const BIF_RETURNONLYFSDIRS = 1 Private Const BIF_DONTGOBELOWDOMAIN = 2 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 Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Public Function SelectFolder(Titre As String, Handle As Long) As String Dim lpIDList As Long Dim strBuffer As String Dim strTitre As String Dim tBrowseInfo As BrowseInfo strTitre = Titre With tBrowseInfo .hWndOwner = Handle .lpszTitle = lstrcat(strTitre, "") .ulFlags = BIF_RETURNONLYFSDIRS + BIF_DONTGOBELOWDOMAIN End With lpIDList = SHBrowseForFolder(tBrowseInfo) If (lpIDList) Then strBuffer = String(260, vbNullChar) SHGetPathFromIDList lpIDList, strBuffer SelectFolder = Left(strBuffer, InStr(strBuffer, vbNullChar) - 1) End If End Function Sub ChoisirUnRépertoire() MsgBox SelectFolder("Sélectionnez un répertoire :", _ FindWindow(vbNullString, Application.Caption)) End Sub
Je suis très désordonné, il est très vrai. Mais ou serait le challenge si j'étais très ordonné.
Mais étant désordonné, je te promets que j'ai copié ton code et voila le message d'erreur:
Citation:
Erreur de compilation
Des constantes, chaines de longueur fixe, tableaux, types prédéfinis par l'utilisateur et Instruction Declare ne sont pas autorisés comme membres Public de modules d'objet
Et tout ceci à cause de ca:
Donc je ne sais pas....Code:
1
2
3 Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Te manque une référence. Je regarde si je trouve laquelle. Mais jète un oeil dans Outils -> Références, dans l'éditeur VB. Si tu en trouve une marquée "MANQUANT" alors... c'est qu'elle manque :D
Peut-être "Microsoft Excel 10.0 Object library"
Je vous remercie pour vos réponses.
Ca marche pas encore mais je pense qu'après quelques petits verres, ca s'arrangera...:aie: