Multiselect avec commondialog

Contenu du snippet

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

A voir également

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.