Check box dans treeview [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
16 avril 2012
-
Messages postés
4
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
16 avril 2012
-
bonjour a tous,

j'ai créer un treeview qui se construit de manière automatique a partir d'une de données (critère, sous critère) sur une feuille excel.
je lui ai mit des check box
je voudrais que l'utilisateur puisse cocher un ou plusieurs critères et récupérer les critères qu'il a coché pour in fine afficher des résultats en fonctions des critères sélectionné
je bloque un peu niveau idée là..
j'ai vu qu'il existe des
Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node) ceci est il pertinent dans mon cas?


merci si vous avez une idée!

a+

6 réponses

Messages postés
4
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
16 avril 2012

Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node)
Dim i As Integer
'Annuler les nodes du root
If Node.Children <> 0 Then
Node.Checked = False
Exit Sub
End If
If Node.Checked Then
ListBox1.AddItem Node.Text
Else
For i = 0 To ListBox1.ListCount
If ListBox1.List(i) = Node.Text Then
ListBox1.RemoveItem (i)
Exit Sub
End If
Next i
End If
End Sub
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
Bonjour,

As-tu lu la doc concernant le TreeView, je suis sûr que tout est dedans. (Pensse à la touche F1)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
4
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
16 avril 2012

oui j'ai regardé mais en tapant "treeview" l'aide ne me donne que deux résultats:
CubeField.TreeviewControl, propriété
et
TreeviewControl, objet
qui me servent pas du tout... :s
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
Bonjour,

D'où tu sors ce CubeField.TreeviewControl ?
Dans VB6, il est dans les CommonControls (L'un des 3 CommonControls disponible).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
Messages postés
4
Date d'inscription
mardi 10 avril 2012
Statut
Membre
Dernière intervention
16 avril 2012

heu.. dans les contrôles j'ai:
contrôle Ctreeview
et
microsoft treeview control, version 6.0

et pour le coup j'ai utiliser le second (ça change quelque chose??)

Sinon ce que je voulais dire c'est que quand je vais dans l'aide et que je tape "treeview" ça me donne rien d'autre que cubefield machin et l'autre truc...

cependant, j'ai réussi à évaluer si la case est cocher ou non en faisant une boucle qui teste chaque node et qui le met dans une listebox si c'est coché:
If TreeView1.Nodes(key).Checked = True Then
ListBox1.AddItem (TreeView1.Nodes(key).Text)

sait-tu si je peux mettre à jours en temps réel cette listbox?
c'est-à-dire qu'au fur et à mesure qu'on coche et décoche les cases, le critère s'affiche ou s'efface de la liste box automatiquement sans passer par un bouton pour "rafraichir"??
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
146
Bonjour,

Dans l'évènement NodeCheck, tu lances la procédure de rafraichissement.
Sinon, hormis tester si tous les noeuds individuellement, je ne vois pas d'autre méthode.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site