begin process at 2012 02 13 20:44:56
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > MULTISELECT AVEC COMMONDIALOG

MULTISELECT AVEC COMMONDIALOG


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :08/01/2003 Date de mise à jour :08/01/2003 23:46:08 Vu :4 970

Auteur : Sphaxs

Ecrire un message privé
Site perso
Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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



 Sources du même auteur

Source avec Zip MAILEUR LOTUS AUTOMATIQUE
Source avec Zip DÉCOUPEUR ET REASSEMBLEUR DE FICHIERS
Source avec Zip Source avec une capture ANALYSEUR DE SPECTRES (SPHAXS AUDIO ANALYZER)
Source avec Zip Source avec une capture MULTIALARMES V6 (GRAPHIQUE) - POUR SE RAPPELER SES RENDEZ-VO...
Source avec Zip AGENDA ET ALARME

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

Commentaires et avis

Commentaire de Badclown le 09/01/2003 15:42:41

Je pense pas que il y est plus simple, mais tu aurais pu detailler toute les options de "Flags" car il y a pas mal de chose interressante :)

Commentaire de VicoLaChips2 le 09/01/2003 16:22:46

Salut !
Il y a + simple -:)
Private Sub Command1_Click()
    Dim sPathRacine As String, sFiles() As String
    CommonDialog1.ShowOpen
    sFiles = Split(CommonDialog1.FileName, vbNullChar)
    If UBound(sFiles) > 0 Then               'plusieurs fichiers
        
        sPathRacine = sFiles(0) & ""
        MsgBox sFiles(1)
    Else                                    'un seul fichier contenant
                                            'racine et nom...
        MsgBox sFiles(0)
    End If
End Sub
@+, VIC

Commentaire de LordBob le 09/01/2003 19:27:04

c pas trop compris l'interet de ta source... ou plutot ce kel fait...

Commentaire de DebvbJ le 14/01/2003 19:42:35

Ca peut-être utile pour un lecteur mp3 par exemple LordBob
Exemple : winamp permet le multi-select en ajout de fichier donc ça peut servir plutôt que d'ajouter un par un des fichiers (c'est juste un exemple)

Commentaire de Sphaxs le 15/01/2003 19:15:57

A vrai dire, c'est pour ça que je l'ai ecrit ce code (en réalité c'est pas un lecteur MP3 mais un lecteur utilisant windows media player (qui lit les MP3, les WAV, les MPEG, ...) mais je ne l'ai pas encore mis sur VBFrance (il reste quelques améliorations à apporter) mais s'il interresse quelqu'un, je peux le mettre... (notamment si ca interresse quelqu'un de le rendre plus "joli" car le graphisme ce n'est pas mon truc du tout ...)
A+
Sphaxs

Commentaire de noshelter le 16/06/2003 03:58:10

c'est juste le flags du multiselect qui m'intéressait, tu m'a rendu service, merci beaucoup.

Commentaire de noshelter le 16/06/2003 04:12:01

c'est juste le flags du multiselect qui m'intéressait, tu m'a rendu service, merci beaucoup.

Commentaire de nihaoma le 10/08/2005 18:38:53

une ch'tite question....quelqu'un sait s'il existe une boite de dialogue commune (ou bien un flag sur le .ShowSave) qui permet d'enregistrer plusieurs fichiers dans un meme répertoire ?...en fait, que l'utilisateur ne voit pas le champ 'Nom du fichier' et 'Type de fichier' mais qu'il puisse choisir le lecteur et le dossier comme dans le .ShowSave.
(en fait le pourais simplement créer une Form avec un Drive et un FileList et ca marcherait très bien, mais bon si y'a un truc déja fait, pourquoi réinventer la roue ? lol

merci pour vos réponses

Commentaire de pointbin le 11/10/2007 12:54:34 10/10

ç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.

Commentaire de Renfield le 11/10/2007 14:03:02 administrateur CS

&h200 Or &h80000 ...
ou comment rendre du code obscur !

cdlOFNExplorer or cdlOFNAllowMultiselect   est plus lisible, non ?

Commentaire de pointbin le 11/10/2007 22:30:39

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.

Commentaire de Renfield le 12/10/2007 08:06:51 administrateur CS

utilises une autre boite de dialogue standard, pour selectionner un repertoire...

http://www.vbfrance.com/codes/SELECTION-DOSSIER-AVEC-BOUTON-NOUVEAU-DOSSIER_17270.aspx

Commentaire de Renfield le 12/10/2007 08:07:47 administrateur CS

plein d'autres flags existent pour le ShowSave / ShowOpen

cherches cdlofn dans l'explorateur d'objets de VB (touche F2)

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales