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 :

Dir *.doc dans un TreeView


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut Dir *.doc dans un TreeView
    Bonjour à tous et toutes,

    J'ai déjà parcour depuis ce matin plein de fois le forum en faisant une recherche sur le mot clé TreeView mais je n'ai pas vraiment trouvé de réponse à ce que je cherche. Donc voici ma demande.

    J'aimerais pouvoir connecter un treeView à un dossier en particuler qui me serait donné par un App.Path et lorsque l'on clique sur ce dossier, que tous les documents Word, s'affiche dans une liste qui je pense doit petre une ListView !

    Si quelqu'un pouvais m'éclairer sur la connexion du TreeView ce serait super génial !!!

    Merci d'avance à tous

  2. #2
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Tu ne veux pas utiliser un FileListBox avec la propriété Pattern mise à "*.doc" par exemple ?
    Si J'ai bien compris ta demande, ça devrait faire l'affaire non ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Bonjour et merci de vous pencher sur mon cas !

    J'ai déjà utilisé ce controle mais je ne le trouve pas super !! Je trouve l'affichage du treeView plus professionnel et plus beau pour mon application !!!

    Si vous avez une solution ce serais super car je galère sincèrement pour pouvoir me connecter au dossier que je veux !!!

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par J-il252313 Voir le message
    J'ai déjà utilisé ce controle mais je ne le trouve pas super !! Je trouve l'affichage du treeView plus professionnel et plus beau pour mon application !!!
    utilise une Listview !

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Bonjour, non je n'ai pas envie d'utiliser ce controle, j'aimerai bien apprendre le TreeView !!!!

    je n'aime pas prendre la facilité je veux devenir un grand de vb lol

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    non mais le treeview il marche .. Faut juste que tu codes toi même le remplissage dossier par dossier, + sur l'évènement on node click le chargement du listview contigu

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Justement c'est bien cela le problème, c'est que je ne sais comment faire !!!!

  8. #8
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par J-il252313 Voir le message
    Justement c'est bien cela le problème, c'est que je ne sais comment faire !!!!
    moi, je t'ai parlé de ListView, pas de Filelistbox, que tu peux personnaliser avec des icônes, plusieurs colonnes, enfin bref, qque chose de pro, puisque c'est ce que tu veux !
    As-tu seulement regardé ce composant ?

    et si tu attends qu'on te fasses le code, alors je te conseille d'être patient, car c'est pas gagné d'avance

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    lol je veux pas qu'on me face mon code !!! Je cherche à comprendre comment connecter un TreeView à des dossier comme par exemple Mes Documents !! Et qu'il mé déroule chaque dossier donc qu'il affiche l'arborescence et lorsqu'il y a un dossier qui contient quelque chose, l'envoyer vers un listView comme tu me le conseil !!! car je le trouve super ce control !

  10. #10
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Voilà un exemple de ce que l'on peut faire avec un treeview et une listview :
    Images attachées Images attachées  

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Waouuuuuuuuuuuuuu,

    C'est justement à un affichage comme celui la que j'aimerai arriver !!!!

    Car pour un travail de fin d'étude je trouve que c'est plus pro ! J'espère que tu comprends !!! Est-il compliqué d'en arriver la en étant novice dans ce controls ?

    Car j'ai encore beaucoup de travail à abattre et la comme je bloque sur cette utilsiation

    merci de m'aider ThierryAIM c'est super

  12. #12
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par J-il252313 Voir le message
    Car pour un travail de fin d'étude je trouve que c'est plus pro ! J'espère que tu comprends !!!
    oui, je comprends ...
    Citation Envoyé par J-il252313 Voir le message
    Est-il compliqué d'en arriver la en étant novice dans ce controls ?
    oui !
    La case de gauche est un ActiveX, développé par mes soins, intégrant un treeview, avec qques propriétés spécifiques !
    La case de droite est une listview basique
    Citation Envoyé par J-il252313 Voir le message
    Car j'ai encore beaucoup de travail à abattre
    je ne te le fais pas dire !!

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Donc en gros je pense que je vais laisser tomber ce type de truc alors !!! car la ça fait 3 jours que je suis dessus et ça commence à me grrrrrrrrr lol

    Dommage car je trouvais ça bien !!!! Si pas tu sais pas me donner quelques explications ou quelque chose ????

    Je sais que c'est beaucoup demander mais comme on dit chez moi il n'y a que l'honteux qui perd !!!!

    Merci à toi

  14. #14
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par J-il252313 Voir le message
    Car pour un travail de fin d'étude r
    Je ne vais pas te faire tes développements à ta place !
    Citation Envoyé par J-il252313 Voir le message
    Donc en gros je pense que je vais laisser tomber ce type de truc alors !!! car la ça fait 3 jours que je suis dessus et ça commence à me grrrrrrrrr lol

    Dommage car je trouvais ça bien !!!! Si pas tu sais pas me donner quelques explications ou quelque chose ????

    Je sais que c'est beaucoup demander mais comme on dit chez moi il n'y a que l'honteux qui perd !!!!
    essaie d'écrire un peu de code, au lieu d'attendre que ça tombe tout cuit

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Je comprend !!!!

    Voici une partie de code ! car tu n'as pas l'air de croire que je fais quelque chose !

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    Option Explicit
     
    Dim mPath As String                                 'Valeur renvoyée par la function ShowExplore
     
    Function ShowExplore(ByVal Path As String, ByVal Titre As String, Optional DefautPath As String = "") As String
     
    'Initialise le Node avec le path
    Dim x As Integer
    Dim i As Integer
    Dim M As String
     
    Tree.Nodes.Clear                                       'Raz Tree
    mPath = ""                                        'Raz Variable de retour
    Caption = Titre                                        'Affiche le titre dans le caption
     
     
    If Right$(Path, 1) = "\" Then
     
            Path = Trim$(Mid$(Path, 1, Len(Path) - 1))         'enleve éventuellement le \ au bout de path
     
    End If
     
    ExploreDir "", Path                                    'Explore les dossiers du chemin de départ
     
    'Explore les branches pour chercher celles qui ont des sous dossiers
        x = Tree.Nodes.Count                                   '
        For i = 1 To x
            With Tree.Nodes.Item(i)
                ExploreDir .Key, .Key
            End With
        Next i
        IniDefautPath DefautPath
        Show 1
        ShowExplore = mPath
     
    End Function
     
    Private Sub ExploreDir(ByVal Fils As String, ByVal Path As String)
        Dim M As String
     
        Path = Path & "\"
     
        On Error GoTo Sortie                                   'Sortir de la routine si la branche a déjà été Explorée
        Screen.MousePointer = vbHourglass
        Tree.Visible = False
        DoEvents
        'Initialise la commande dir
        M = Dir(Path, vbDirectory Or vbHidden Or vbReadOnly Or vbSystem)
        Do While Not M = ""
     
     
            'Je n'ai pas trouvé d'autre moyen pour afficher tout les dossiers (cachés, systems, lecture seule) que
            'd'exclure les nom comportant un point.
            'Ce n'est pas parfait mais je n'arrive pas à afficher que les dossiers sans cela.
            'A PAUFINER
     
            If InStr(Path & M, ".") = 0 Then
                If Fils = "" Then
                    Tree.Nodes.Add , , Path & M, M, 1          'Création des branches dont la mère et Root
                Else
                    Tree.Nodes.Add Fils, tvwChild, Path & M, M, 1    'Création des branches dont la mère est connue
                End If
            End If
            ' Tree.Sorted = True
            M = Dir                                            'pointe sur le dossier/fichier suivant
        Loop
    Sortie:
        On Error GoTo 0
        Screen.MousePointer = vbDefault
        Tree.Visible = True
    End Sub
     
    Private Sub IniDefautPath(ByVal DefautPath As String)
     
        'Cette sub permet de charger dans le treeView la branche
        'contenant le dossier DefautPath lors de l'affichage de la feuille
        Dim i As Integer
        Dim M As String
        Dim Key As String
        Dim Tbl
     
        M = DefautPath                                         'Transfet dans M le DefautPath
        'EtqDir.Caption = ""                                    'Raz l'étiquette d'affichage
     
        'Sortir si le defaut path n'existe pas sur le disque
        If M = "" Or Dir(M, vbDirectory Or vbHidden Or vbSystem Or vbReadOnly) = "" Then Exit Sub
     
        'EtqDir.Caption = M                                     'Affiche le chemin dan le label
     
        '-----------------------------------------------------
        'Boucle à l'envers sur les Nodes pour rechercher dans
        'les clés la correspondance avec DefautPath
        For i = Tree.Nodes.Count To 1 Step -1
            With Tree.Nodes.Item(i)
                If InStr(DefautPath, .Key) > 0 Then            'Key trouvée !
                    Key = .Key                                 'Sauvegarde dans de la Key
                    M = Mid$(DefautPath, Len(.Key) + 2)        'Prendre dans la Key l'éventuel reste du chemin
                    Exit For                                   'Sortir
                End If
            End With
        Next i
     
        '--- Ajout et sélection de la branche
        M = M & "\"                                            'Ajoute un "\" au bout de m
        Tbl = Split(M, "\")                                    'Split dans Tbl m
        'Boucle sur les Items de Tbl pour ajouter chaque branche
        For i = 0 To UBound(Tbl)
            ExploreDir Key, Key                                'Ajoute la branche
            Key = Key & "\" & Tbl(i)                           'Concaténation key pour la branche suivante
     
        Next i
        On Error Resume Next
        Tree.Nodes.Item(DefautPath).Selected = True 'Selectionne la branche DefautPath
        On Error GoTo 0
     
    End Sub
     
    Private Sub Form_Load()
     
    Dim str_dossier_courant As String
     
    str_dossier_courant = Form1.ShowExplore("C:\", "Essai de JosDir", App.Path)
     
    End Sub
     
    Private Sub Tree_Collapse(ByVal Node As MSComctlLib.Node)
     
        Node.Image = 1
     
    End Sub
     
    Private Sub Tree_Expand(ByVal Node As MSComctlLib.Node)
     
        mkBranche Node
        Node.Image = 2
     
    End Sub
     
    Private Sub mkBranche(ByVal Node As MSComctlLib.Node)
     
        'Cette sub est appelée lors du click sur un node
        'Elle permet de créer les branches filles du node
        'qui a été cliqué ainsi que toutes les branches suitantes
        'Cela permet d'anticiper sans ralentissement trés important.
     
        Dim LastFils As String                                 'Key du dernier noeud de la branche
        On Error GoTo Sortie                                   'Sortir si la branche a déjà été traitée
        ExploreDir Node.Key, Node.Key                          'Explore cette branche
     
        Set Node = Node.Child                                  'Connect au noeud suivant
        LastFils = Node.LastSibling.Key                        'Sauve la key du dernier noeud
     
        'Boucle qui permet de traiter toutes les branches suivantes de la
        'branche qui a été cliquée.
    Do
            ExploreDir Node.Key, Node.Key                      'Explore le dossier
            If Node.Key = LastFils Then Exit Do
            Set Node = Node.Next                               'Passe à la branche suivante
        Loop                      'fin de boucle
     
    Sortie:
        On Error GoTo 0
     
    End Sub
    Il n'est as à fond de moi j'ai essayé de m'inspirer de plusieurs source et d'en comprendre la chose mais ce n'est pas encore ce que je veux !!!!

  16. #16
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut
    regarde ce lien, il y en a plein de truc qui peuvent t'aider :
    Le treeview et vous

  17. #17
    Membre confirmé
    Avatar de nabil
    Inscrit en
    Avril 2002
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 223
    Par défaut
    voici un autre lien, effectue une recherche sur ce site et tu trouvera plein de code :
    http://www.planet-source-code.com/

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 11
    Par défaut
    Nabil, je te remercie énormément, je vais aller consulter ses liens dans une petite demi-heure car la je rentre du taf donc je prend un chtit apéros pour la fin de semaine lol

    Encore une grand merci à toi

Discussions similaires

  1. [VBA] Réagir aux clics dans mon TreeView
    Par Neilos dans le forum IHM
    Réponses: 2
    Dernier message: 16/06/2005, 09h03
  2. Ordonnée des données dans un TreeView
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/04/2005, 18h08
  3. Pbs pour Glisser-Deplacer des noeuds dans un TreeView.
    Par psau dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/09/2004, 21h02
  4. Des colonnes dans un Treeview
    Par mr_langelot dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/07/2004, 09h52
  5. [Fichier] Ajout des lignes de doc dans arraylist
    Par 3adoula dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 29/04/2004, 22h41

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