Dim tw As MSComctlLib.TreeView
Dim Base, n
Private Sub UserForm_Initialize()
chef = [=MAX(IF(Pere="",Fils,0))]
NomChef = Application.VLookup(chef, [BdPersonnel], 3)
Set tw = Me.MonArbre
n = [BdPersonnel].Rows.Count
Base = [BdPersonnel]
tw.Nodes.Add(, , "NoeudMat" & chef, NomChef).Expanded = True ' Racine arbre
vpersonnes chef
End Sub
Sub vpersonnes(parent) ' procédure récursive
For i = 1 To n
If Base(i, 5) = parent Then
tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & Base(i, 1), Base(i, 3)).Expanded = True
vpersonnes Base(i, 1)
End If
Next i
End Sub