Supprimer les elements coché d'un treeview [Résolu]

Signaler
Messages postés
17
Date d'inscription
mardi 23 novembre 2004
Statut
Membre
Dernière intervention
11 novembre 2007
-
Messages postés
17
Date d'inscription
mardi 23 novembre 2004
Statut
Membre
Dernière intervention
11 novembre 2007
-
Bonjour,

Je souhaite supprimer dans un contrôle treeview, les éléments qui ont été cochés.
Voici donc le code que j'avais mis :

For i = 1 To Treeview1.Nodes.Count
  If Treeview1.Nodes.Item(i).Checked = True Then
     Treeview1.Nodes.Remove i
  End If
Next

Mais je reçois le message d'erreur : "erreur d'execution 35600 : index hors limite", ce qui est normal puisque à la suppression d'un élément coché, la valeur Count change.
Comment puis-je donc faire ?

Merci

2 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Peut-etre comme ceci :

For i = Treeview1.Nodes.Count To 1 Step -1
  If Treeview1.Nodes.Item(i).Checked = True Then
     Treeview1.Nodes.Remove i
  End If
Next

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
17
Date d'inscription
mardi 23 novembre 2004
Statut
Membre
Dernière intervention
11 novembre 2007

Parfait, merci !

Ceci dit, sachant qu'il peut y avoir un grand nombre d'elements dans le treeview, n'existerait-il pas un moyen autre que l'utilisation d'une boucle ?

Si non, je m'en contenterais :)

Ah oui, tant que j'y suis, y a t-il moyen d'afficher un checkbox uniquement aux arbres parents ?

merci !