IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6]N'afficher que certain type de fichier dans une FileListBox


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Points : 58
    Points
    58
    Par défaut [VB6]N'afficher que certain type de fichier dans une FileListBox
    Bonjour,

    Est-il possible de n'afficher que certain type de fichier dans une FileListBox ?

    Concrètement, je voudrais que lorsque l'utilisateur sélectionne dans une listebox le type de fichier qui doit apparaitre dans la filelistbox, celle-ci n'affiche que les fichiers dont l'extension correspond à celle qui est sléectionnée.

    C'est possible ? Comment je peux faire ça ?

    Merci par avance

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    Même pas besoin de mobiliser pour celà une FileListBox ...
    Une simple ListBox et l'utilisation de la fonction Dir avec le filtre de ton choix te le permet !
    Voir la fonction Dir et ses exemples dans ton aide en ligne, sur ta machine.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    Bon en cherchant un peu j'ai trouvé qu'il fallait que je change la valeur du pattern du controle FileListBox.

    Par contre une fois que ce contrôle est chargé et que je modifie la valeur de ma listBox (evenement _Change), rien ne passe. Quelqu'un peut m'aider ? C'est la première fois que j'utilise ce contrôle et je ne sais pas trop comment faire.

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Citation Envoyé par Misha Voir le message
    Par contre une fois que ce contrôle est chargé et que je modifie la valeur de ma listBox (evenement _Change), rien ne passe.
    Que veux-tu exactement dire par ce que j'ai mis en rouge ?
    De quel évènement Change parles-tu ? (tu veux parler de l'évènement Pattern_Change ?)
    Que cherches-tu à faire ou à obtenir exactement ?
    Mets-nous ici, commenté par tes voeux, ce que tu as écrit...

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    Bonjour,


    Que veux-tu exactement dire par ce que j'ai mis en rouge ?
    Ben dans ma fenêtre j'ai une comboBox qui contient comme valeur *.XLS, *.TXT,*.MBT.
    Lorsque l'utilisateur sélectionne l'une de ces valeur, je voudrais que l'affichage de la filelistbox se mette a jour et n'affiche les fichiers dont l'extension se termine soit par txt, xls ou mbt selon ce qui aura été selectionné dans la comboBox


    De quel évènement Change parles-tu ? (tu veux parler de l'évènement Pattern_Change ?)
    Hum je parle de l'évenement change sur la comboBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cbo_ListTypeFichier_Change()
        FLB_ListFichier.Pattern = cbo_ListTypeFichier.Text
    End Sub

    Que cherches-tu à faire ou à obtenir exactement ?
    je voudrais que l'affichage de la filelistbox se mette a jour et n'affiche les fichiers dont l'extension se termine soit par txt, xls ou mbt selon ce qui aura été selectionné dans la comboBox .
    Le problème c'est que je sais pas trop par ou commencer.
    A quel endroit ou sur quel événement je dois intervenir pour mettre a jour la liste des fichier dans la filelistbox ?


    Mets-nous ici, commenté par tes vœux, ce que tu as écrit...
    Pour l'instant je n'ai que ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
        'Déclaration des variables
    Public strFiche As String
    Public strChemin As String
     
     
    Private Sub cbo_ListTypeFichier_Change()
       'je voudrais que ca mette a jour le liste des fichers de la fileListBox
        FLB_ListFichier.Pattern = cbo_ListTypeFichier.Text
    End Sub
     
    Private Sub cmdQuitter_Click()
        'Ferme la fenêtre et quitte l'application
        Unload Me
        End
    End Sub
     
    Private Sub Dir_Repertoire_Change()
        'Chemin sélectionné
        FLB_ListFichier.Path = Dir_Repertoire.Path
        'FLB_ListFichier.Pattern = cbo_ListTypeFichier.Text
        strChemin = FLB_ListFichier.Path + "\"
    End Sub
     
    Private Sub Dir_Repertoire_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
        If State = 0 Then Source.MousePointer = 11
        If State = 1 Then Source.MousePointer = 0
    End Sub
     
    Private Sub DLB_SourceDrive_Change()
        'Recupere le disque
        Dir_Repertoire = DLB_SourceDrive.Drive
    End Sub
     
    Private Sub FLB_ListFichier_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
     
        On Error GoTo Err_FLB_ListFichier_DragOver
     
        Fiche$ = FLB_ListFichier.FileName
     
     
    Exit_Err_FLB_ListFichier_DragOver:
        Exit Sub
     
    Err_FLB_ListFichier_DragOver:
        MsgBox Err.Number & " - " & Err.Description
        Resume Exit_Err_FLB_ListFichier_DragOver
    End Sub
     
    Private Sub FLB_ListFichier_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Dim DY
        DY = TextHeight("A")
        lbl_ListFichier.Move FLB_ListFichier.Left, FLB_ListFichier.Top + Y - DY / 2, FLB_ListFichier.Width, DY
        lbl_ListFichier.Drag
    End Sub
     
    Private Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
        If State = 0 Then Source.MousePointer = 11
        If State = 1 Then Source.MousePointer = 0
    End Sub
     
    Private Sub Form_Load()
        cbo_ListTypeFichier.ListIndex = 0
        FLB_ListFichier.Pattern = cbo_ListTypeFichier.Text
    End Sub
    C'est un peu le brouillon ... je ne sais pas si j'ai été assez clair.
    En gros, le but est de pouvoir faire un drag and drop dans une listbox ou un label la liste des fichiers qui me sont nécessaire pour lancer mon traitement (sachant qu'il y aura plusieurs fichiers).

    Je pense que ce qu'il me faudrait, c'est un exemple de traitement glisser/déposer de plusieurs fichiers dans une listbox. Je peux changer de méthode sans passer par une fileListBox...

    Merci de votre aide.

  6. #6
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 082
    Points : 16 815
    Points
    16 815
    Par défaut
    A quel endroit ou sur quel événement je dois intervenir pour mettre a jour la liste des fichier dans la filelistbox ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub cbo_ListTypeFichier_Change()
       'je voudrais que ca mette a jour le liste des fichers de la fileListBox
        FLB_ListFichier.Pattern = cbo_ListTypeFichier.Text
        FLB_ListFichier.Refresh  '<=======
    End Sub

    Motif de l'edit:


    Juste, un Copier/Coller de ton code, sans faire suffisament attention a l'evenement que tu avais choisi.
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Utilise plutot l'événement click de ta liste et la priopriété ListIndex qui donne l'élément selectionné.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub cbo_ListTypeFichier_Click()
        FLB_ListFichier.Pattern = cbo_ListTypeFichier.List(cbo_ListTypeFichier.ListIndex)
        FLB_ListFichier.Refresh 
    End Sub
    Les éléménts de ta liste doivent être du type
    *.Bmp
    *.Jpg
    *.Tif

    etc..
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

  8. #8
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bon (de retour) ...

    Je ne vais pas te faire ton drag and drop (c'est d'ailleurs là une question n'ayant rien à voir avec ta question originelle... et on ne traite qu'une question par discussion).

    Ta question était donc : comment n'afficher dans une FileListBox que les fichiers d'une extension choisie dans une Combo box.

    Voilà donc comment (procédé avec effet immédiat sur la FileListBox, donc sans avoir à changer de répertoire dans la DirListBox pour déclencher la modif)
    Ici : une DriveListBox Drive1, une dirListBox Dir1, une FileListBox File1 et une comboBox Combo1

    Code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Form_Activate()
      Combo1.AddItem "*.txt"
      Combo1.AddItem "*.frm"
      Combo1.AddItem "*.exe"
    End Sub
    Private Sub Combo1_Click()
      File1.Pattern = Combo1.Text
      File1.Path = Dir1.Path
      Drive1_Change
      File1.Path = Dir1.Path
    End Sub
     
    Private Sub Dir1_Change()
      File1.Pattern = Combo1.Text
      File1.Path = Dir1.Path
    End Sub
     
    Private Sub Drive1_Change()
     Dir1.Path = Drive1.Drive
    End Sub
     
    Private Sub File1_PatternChange()
      Dir1_Change
    End Sub
    Ton Drag and Drop ultérieur est une autre question (donc autre discussion)

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 91
    Points : 58
    Points
    58
    Par défaut
    Private Sub cbo_ListTypeFichier_Change()
    'je voudrais que ca mette a jour le liste des fichers de la fileListBox
    FLB_ListFichier.Pattern = cbo_ListTypeFichier.Text
    FLB_ListFichier.Refresh '<=======
    End Sub
    ProgElecT, le fait de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FLB_ListFichier.Refresh
    ne le met pas à jour mon controle FLB_ListFichier.


    Citation Envoyé par Delbeke Voir le message
    Utilise plutot l'événement click de ta liste et la priopriété ListIndex qui donne l'élément selectionné.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub cbo_ListTypeFichier_Click()
        FLB_ListFichier.Pattern = cbo_ListTypeFichier.List(cbo_ListTypeFichier.ListIndex)
        FLB_ListFichier.Refresh 
    End Sub
    Les éléménts de ta liste doivent être du type
    *.Bmp
    *.Jpg
    *.Tif

    etc..
    Delbeke, ça marche nickel comme ça . Merci beaucoup.


    Merci à tous de votre aide précieause.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/02/2012, 12h29
  2. cleartool liste que certains types de fichiers
    Par pcouas dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 01/02/2011, 08h04
  3. Comment n'afficher qu'un type de fichier dans un dossier ?
    Par Gunner4902 dans le forum Scripts/Batch
    Réponses: 10
    Dernier message: 09/08/2008, 23h58
  4. Réponses: 3
    Dernier message: 13/02/2008, 22h32
  5. afficher l'icone d'un fichier dans une listbox
    Par krokmitaine dans le forum Delphi
    Réponses: 2
    Dernier message: 30/11/2006, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo