Multiselect avec commondialog

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 964 fois - Téléchargée 38 fois

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

Ajouter un commentaire Commentaires
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
plein d'autres flags existent pour le ShowSave / ShowOpen

cherches cdlofn dans l'explorateur d'objets de VB (touche F2)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
utilises une autre boite de dialogue standard, pour selectionner un repertoire...

http://www.vbfrance.com/codes/SELECTION-DOSSIER-AVEC-BOUTON-NOUVEAU-DOSSIER_17270.aspx
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010

maintenent c'est plus claire, alors ce sont des variable predefini qui d'apres leurs nom donne une idée du fonctionnement.
pour le showSave est ce qu'il y a un moyen de sélectionner seulement le dossier ou je veux sauvegarder sans avoir a donner un nom de fichier.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
&h200 Or &h80000 ...
ou comment rendre du code obscur !

cdlOFNExplorer or cdlOFNAllowMultiselect est plus lisible, non ?
Messages postés
71
Date d'inscription
lundi 5 janvier 2004
Statut
Membre
Dernière intervention
13 mai 2010

ça aide beaucoup le
'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
merci.
Afficher les 13 commentaires

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.