Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node) Dim nb_Childs As Integer Dim index1 As Integer nb_Childs = Node.Children ' c'est le nombre d'enfant "contenus" dans le père qui a été coché If Node.Children > 0 Then index1 = Node.Child.Index ' c'est l'indice du premier enfant du noeud qui a été coché Select Case Node.Checked Case Is = True For i = index1 To (index1 + nb_Childs - 1)' du 1er enfant au dernier Me.TreeView1.Nodes(i).Checked = True Next i Case Is = False For i = index1 To (index1 + nb_Childs - 1) Me.TreeView1.Nodes(i).Checked = False Next i End Select End If End Sub