Option Explicit
Private Sub UserForm_Initialize()
Dim ObjNoeud As Node
Dim I As Byte, J As Byte, H As Byte, F As Byte, G As Byte
With TreeView1
'Noeud parent
Set ObjNoeud = .Nodes.Add(, , "Niveau0", "Niveau0")
With ObjNoeud
.Tag = 50
.Expanded = True
End With
For I = 1 To 2 ' Noeud enfant niveau 1
Set ObjNoeud = .Nodes.Add("Niveau0", tvwChild, "Niveau1" & I, "Niveau1" & I)
With ObjNoeud
.Tag = 10 * I
.Expanded = True
End With
For J = 1 To 2 ' Noeud enfant niveau 2
H = H + 1
Set ObjNoeud = .Nodes.Add("Niveau1" & I, tvwChild, "Niveau2" & H, _
"Niveau2" & I & J)
With ObjNoeud
.Tag = 100 + H
.Expanded = True
End With
For G = 1 To 2 ' Noeud enfant niveau 3
F = F + 1
Set ObjNoeud = .Nodes.Add("Niveau2" & H, tvwChild, "Niveau3" & F, _
"Niveau3" & I & J & G)
With ObjNoeud
.Tag = 1000 + F
.Expanded = True
End With
Next G
Next J
Next I
End With
TreeView1.CheckBoxes = True
Set ObjNoeud = Nothing
End Sub
Private Sub CommandButton1_Click()
Dim NodX As Node
Dim Resultat As Double
For Each NodX In TreeView1.Nodes
If NodX.Checked = True Then Resultat = Resultat + NodX.Tag
Next
MsgBox "Total des valeurs stockées dans la propriété 'Tag' = " & Resultat
End Sub