Voici la façon que j'ai utilisée pour effectuer un multiselect avec un commondialog... Peut etre qu'il existe une façon plus simple mais je n'ai pas trouvé.
De plus celle-çi fonctionne très bien.
Si ça peut servir à quelqu'un...
Source / Exemple :
Dim Fichier() As String
Dim n As Integer
Private Sub Form_Load()
'Initialisation du commondialog
CommonDialog1.Flags = &H200 Or &H80000 'Permet le multiselect (200)
'et la boite de dialogue est de type explorateur (80000)
CommonDialog1.MaxFileSize = 32767 'Nombre de caractères maximum du multiselect (Valeur par défaut=256)
End Sub
Private Sub Command1_Click()
CommonDialog1.ShowOpen
If CommonDialog1.FileTitle = "" Then
iprecedent = 0
n = -1
For i = 1 To Len(CommonDialog1.FileName)
If Asc(Mid(CommonDialog1.FileName, i, 1)) = 0 Then
n = n + 1
ReDim Preserve Fichier(0 To n) As String
Fichier(n) = Mid(CommonDialog1.FileName, iprecedent + 1, i - iprecedent - 1)
iprecedent = i
End If
Next
n = n + 1
ReDim Preserve Fichier(0 To n) As String
Fichier(n) = Mid(CommonDialog1.FileName, iprecedent + 1, i - iprecedent - 1)
'Placer ici le code a effectuer lors d'une sélection multiple
'[FileTitle du fichier n = Fichier(n)]
'[FileName du fichier n = Fichier(0) & "\" & Fichier(n)]
Else
'Placer ici le code a effectuer lors d'une sélection simple
End If
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.