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
| Private Sub UserForm_Initialize()
'Renseigne le TreeView
With Feuil3
tbl = Feuil3.Range("A2:G" & [A65000].End(xlUp).Row).Value
pere = "0"
nomPere = Application.VLookup(pere, tbl, 2, False)
Set tw = Me.MonArbre
n = UBound(tbl)
'n = Feuil3.Range("A65000").End(xlUp).Row
tw.Nodes.Add(, , "NoeudMat" & pere, nomPere).Expanded = False ' Racine arbre
Fils pere
End With
'Renseigne la Listbox "Catégorie"
With Me.Catégorie
Catégorie.AddItem "Matériaux"
Catégorie.AddItem "Matériels"
Catégorie.AddItem "Main d'Oeuvre"
End With
'Renseigne la Listbox "Unité"
With Me.Unité
t = Feuil3.Range("P2:P" & Range("P65536").End(xlUp).Row)
Unité.List = t
End With
'Met le focus sur le Textbox
With Code2
.SetFocus
.SelStart = 0
.SelLength = Len(Code2.Text)
End With
Code2.AutoTab = True
End Sub
Sub Fils(parent) ' procédure récursive
With Feuil3
For I = 2 To n
cd = tbl(I, 1)
niv = Len(cd) - Len(Replace(cd, ".", ""))
If niv = 0 Then temp = "0" Else temp = Left(cd, Len(cd) - 2)
If temp = parent Then
tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & _
tbl(I, 1), tbl(I, 1) & " : " & tbl(I, 2) & " " & tbl(I, 3)).Expanded = False
Fils tbl(I, 1)
End If
Next I
End With
End Sub |
Partager