Boite de dialogue de sélection de fichier

Signaler
Messages postés
176
Date d'inscription
mercredi 5 mai 2004
Statut
Membre
Dernière intervention
25 septembre 2006
-
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
-
J'aimerais faire une boite de dialogue pour sélectionner un fichier (pas l'ouvrir).
Quelqu'un a-t-il le code source de cette msgbox?
Merci

2 réponses

Messages postés
453
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
9 juillet 2004
2
moi pour ca j'utilise une API, mais c'est pas un msgbox :
Private Type OPENFILENAME
lStructSize As Long
hWndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long

ceci correspond à l'API et à un type qui lui est nécessaire.

pour l'appeler :
Dim OFName As OPENFILENAME
With OFName
.lStructSize = Len(OFName)
.hWndOwner = Me.hWnd
.hInstance = App.hInstance
.lpstrFilter = "Document texte (en .txt)" + Chr$(0) + "*.txt" + Chr$(0)
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = "C:"
.lpstrTitle = "Choix du fichier"
.flags = 0
End With
If GetOpenFileName(OFName) Then
Resultat = Trim$(OFName.lpstrFile)
MsgBox Resultat, vbInformation
End If


la ligne qui commence par .lpstrFilter doit etre modifiée en fonction du type de fichier autorisé.

Houzéf@ - www.123toto.com
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Il Faut utiliser le Composant CommonDialogue en cochant les cases : Fichiers…Composants…
Microsoft Windows Common Control 6.0 (SP4)
Microsoft Windows Common Control-2 6.0 (SP4)

Ensuite dans ton Code :

CommonDialog1.CancelError = True' Attribue à CancelError la valeur True

On Error GoTo ErrHandler

CommonDialog1.DialogTitle = "Selection de Fichier" ' Définit le titre de la fenêtre

CommonDialog1.Flags = cdlOFNHideReadOnly' Définit la propriété Flags

CommonDialog1.InitDir = "C:" ' Chemin Initial

CommonDialog1.Filter = "Fichiers (*.*)|*.*"' Définit les filtres

CommonDialog1.FilterIndex = 2' Définit le filtre par défaut

CommonDialog1.ShowOpen' Affiche la boîte de dialogue Ouverture

TonChemin= CommonDialog1.FileName ‘ Enregistrement du Chemin Selectionné

Exit Sub
ErrHandler:
'L'utilisateur a cliqué sur Annuler
Exit Sub

It@li@