Salut des amis!
Je suis sûr qu'il reste très peu pour remplir Treeview...
Je vous demande de l'aide....
Merci!
Salut des amis!
Je suis sûr qu'il reste très peu pour remplir Treeview...
Je vous demande de l'aide....
Merci!
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 SubBoisgontier
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
Partager