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 :

remplir l'arborescence Treeview


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Portugal

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2019
    Messages : 3
    Par défaut remplir l'arborescence Treeview
    Salut des amis!

    Je suis sûr qu'il reste très peu pour remplir Treeview...

    Je vous demande de l'aide....
    Merci!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    1 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 1 369
    Par défaut
    Bonjour,

    Exemple simple en PJ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub UserForm_Initialize()
      Tbl = Range("A2:B" & [A65000].End(xlUp).Row).Value
      Me.Monarbre.Nodes.Add(, , "NoeudInit", "Début").Expanded = True   ' Début arbre
      Set d = CreateObject("scripting.dictionary")
      For i = 1 To UBound(Tbl): d(Tbl(i, 2)) = "": Next i
      For Each c In d.keys             ' Noeuds départements
        Me.Monarbre.Nodes.Add("NoeudInit", tvwChild, "NoeudDep" & c, c).Expanded = True
      Next c
      For i = 1 To UBound(Tbl)         ' Noeuds noms
       Me.Monarbre.Nodes.Add("NoeudDep" & Tbl(i, 2), tvwChild, "NoeudNom" & Tbl(i, 1), Tbl(i, 1)).Expanded = True
      Next i
    End Sub
    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
    Dim tw As MSComctlLib.TreeView
    Dim Tbl, n
    Private Sub UserForm_Initialize()
      Tbl = Range("A2:E" & [A65000].End(xlUp).Row).Value
      pere = Tbl(1, 1)
      Set tw = Me.MonArbre
      n = UBound(Tbl)
      tw.Nodes.Add(, , "NoeudMat" & pere, Tbl(1, 1)).Expanded = True   ' Racine arbre
      Fils pere, 1
    End Sub
     
    Sub Fils(parent, niv)      ' procédure récursive
      For i = 2 To n
        cd = Tbl(i, 2)
        If cd = parent Then
          tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & Tbl(i, 1), Tbl(i, 1)).Expanded = False 'True
          Fils Tbl(i, 1), niv + 1
        End If
      Next i
    End Sub
    Boisgontier
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Débutant] Comment faire une arborescence treeview
    Par Bakkach dans le forum VB.NET
    Réponses: 3
    Dernier message: 26/09/2012, 22h00
  2. Remplir dynamiquement un TreeView
    Par damene dans le forum Débuter
    Réponses: 2
    Dernier message: 05/02/2009, 09h19
  3. Arborescence sans Treeview
    Par LeScandinave dans le forum IHM
    Réponses: 1
    Dernier message: 23/08/2006, 14h32
  4. [Glade]remplir une Treeview
    Par Poutchjay dans le forum GTK+ avec Python
    Réponses: 2
    Dernier message: 23/01/2006, 09h59
  5. [TreeView] Export de l'arborescence
    Par fake dans le forum Composants VCL
    Réponses: 4
    Dernier message: 14/08/2003, 15h15

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