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

Macros et VBA Excel Discussion :

Alimenter listview avec un élément de treeView


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 388
    Points : 128
    Points
    128
    Par défaut Alimenter listview avec un élément de treeView
    Bonjour à toutes et tous. Je souhaiterais à l'aide d'un Treeview en prenant un élément dans l'arborescence afficher dans une Listview les informations liées à l'élément choisi dans le TreeView. J'ai cherché je ne trouve pas comment faire. Il y a beaucoup de choses sur la ListView mais au niveau des deux TreeView - Listview je ne trouve rien qui corresponde à ce que je souhaite faire. Si vous avez une idée, un conseil ou chercher je vous en remercie d'avance.

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 146
    Points : 9 723
    Points
    9 723
    Par défaut
    Hello,
    en pièce jointe, un exemple de drag and drop entre un treeview et une listview. A Adapter pour ce que tu veux faire (au moment du drop au lieu de mettre ce qui est dragué , allez chercher les infos et les mettre à la place).
    Nom : DnDTvLv.gif
Affichages : 24
Taille : 206,1 Ko

    Ami calmant, J.P
    Fichiers attachés Fichiers attachés
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Membre habitué
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 388
    Points : 128
    Points
    128
    Par défaut
    Merci Jurassic Pork, mais dans mon cas il y beaucoup d'informations par personne et je souhaiterais que simplement en cliquant sur le nom il affiche les données correspondantes dans la listeview. J'ai un autre souci j'ai des doublons dans mon treeview car pour une peronne il y plusieurs années différentes. Il faudrait retirer les doublons et permettre le choix en fonction de l'année, mais pour ça il faut que je rajoute un noeud année et là ça devient compliqué. Merci des conseils.

  4. #4
    Membre averti
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 161
    Points : 337
    Points
    337
    Par défaut
    Nom : ListView.gif
Affichages : 12
Taille : 87,4 Ko

  5. #5
    Membre habitué
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2007
    Messages
    388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Mars 2007
    Messages : 388
    Points : 128
    Points
    128
    Par défaut
    Merci Nulosse, je crois que je vais rester sur des TextBox plus facile à organiser sur un userform. En revanche quelqu'un à t-il une solution pour supprimer les doublons dans le treevieew et rajouter un noeud avec possibilité pour un nom d'afficher les infos entre différentes année. Exemple d'arborescence = Une Direction - Un Service - Un NomPrenom - Année 1 Année 2 Année 3... Ajouter un Noeud pour les Années qui sont dans la feuille "Base" voir code du TreeView.

    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
    Private Sub UserForm_Initialize()
        On Error GoTo ErrorHandler
        Dim Col As Integer, Ligne As Integer
        Dim NoeudMere As String
        Dim NoeudFille As String
        Dim texte As String
     
        ' Check if the "Direction" sheet exists
        If Not SheetExists("Direction") Then
            MsgBox "Sheet 'Direction' not found!"
            Exit Sub
        End If
     
        With Sheets("Direction")
            ' Adding parent nodes from the first row of columns 1 to 5
            For Col = 1 To 5
                TreeViewAgent.Nodes.Add , , Replace(.Cells(1, Col).Value, " ", ""), .Cells(1, Col).Value
            Next Col
     
            ' Adding child nodes under each parent node
            For Col = 1 To 5
                Ligne = 2
                NoeudMere = Replace(.Cells(1, Col).Value, " ", "")
                Do While .Cells(Ligne, Col) <> ""
                    NoeudFille = Replace(NoeudMere, " ", "") & "_" & Replace(.Cells(Ligne, Col).Value, " ", "")
                    texte = .Cells(Ligne, Col).Value
                    TreeViewAgent.Nodes.Add NoeudMere, tvwChild, NoeudFille, texte
                    Ligne = Ligne + 1
                Loop
            Next Col
        End With
     
        ' Check if the "Base" sheet exists
        If Not SheetExists("Base") Then
            MsgBox "Sheet 'Base' not found!"
            Exit Sub
        End If
     
        With Sheets("Base")
            ' Adding nodes for the "Base" sheet
            Col = 29
            Ligne = 2
            Do While .Cells(Ligne, Col).Value <> ""
                NoeudMere = Replace(.Cells(Ligne, Col).Value, " ", "") & "_" & Replace(.Cells(Ligne, Col - 26).Value, " ", "")
                NoeudFille = .Cells(Ligne, 1).Value
                texte = .Cells(Ligne, 2).Value
                TreeViewAgent.Nodes.Add NoeudMere, tvwChild, NoeudFille, texte
                Ligne = Ligne + 1
            Loop
        End With
        Exit Sub
     
     
     
    ErrorHandler:
        MsgBox "An error occurred: " & Err.Description & " -> " & NoeudMere
     
    End Sub

Discussions similaires

  1. [Débutant] Visual Studio 2010 VB.NET alimenter listview avec valeur null
    Par Tchebichef dans le forum VB.NET
    Réponses: 3
    Dernier message: 15/04/2016, 17h42
  2. Alimenter une listview avec une table access
    Par louraluy dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 19/05/2015, 15h18
  3. Alimenter DBgrid avec requete SQL ?
    Par La_Bande_A_Zozo dans le forum C++Builder
    Réponses: 5
    Dernier message: 31/05/2006, 18h51
  4. DBGRID avec hierarchie comme un treeview
    Par richard038 dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/08/2005, 19h13
  5. Remplir une ListView avec une BD
    Par manikou dans le forum MFC
    Réponses: 1
    Dernier message: 17/05/2005, 10h48

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