Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2007, 08h56   #1
En attente de confirmation mail
 
Inscription : mars 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 40
Points : 9
Points : 9
Citation:
Envoyé par Bazoom
Ajoute cette déclaration :

Code :
1
2
Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
... et remplace ensuite ton instruction par :

Code :
1
2
  MsgBox SelectFolder("Sélectionnez un répertoire :", _
    FindWindow(vbNullString, Application.Caption))
Bonne chance.

Je comprends pas... Où mettre:

Code :
1
2
Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
parce que moi ca ne marche pas...
Idir
idir.17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 12h06   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Puisqu'il faut tout te dire...
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
Suffit de tout mettre dans l'ordre... mais pour ça faut être ordonné
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 12h18   #3
En attente de confirmation mail
 
Inscription : mars 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 40
Points : 9
Points : 9
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:
Code :
1
2
3
 
Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Donc je ne sais pas....
idir.17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 12h29   #4
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
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

Peut-être "Microsoft Excel 10.0 Object library"
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 13h06   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 776
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 776
Points : 16 858
Points : 16 858
Envoyer un message via Skype™ à bbil
Comment trouver le Handle d'une Userform ?

bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2007, 14h39   #6
En attente de confirmation mail
 
Inscription : mars 2007
Messages : 40
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 40
Points : 9
Points : 9
Je vous remercie pour vos réponses.
Ca marche pas encore mais je pense qu'après quelques petits verres, ca s'arrangera...
idir.17 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h44.


 
 
 
 
Partenaires

Hébergement Web