Ajouter des petits enfants à un treeview en VBA
Fermé
lachapellejf2
Messages postés
3
Date d'inscription
vendredi 13 avril 2018
Statut
Membre
Dernière intervention
7 juin 2018
-
Modifié le 1 juin 2018 à 18:15
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 19 juin 2018 à 18:45
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 19 juin 2018 à 18:45
A voir également:
- Ajouter des petits enfants à un treeview en VBA
- Ajouter un profil netflix payant - Guide
- Ajouter un compte gmail - Guide
- Ajouter un compte whatsapp - Guide
- Ajouter un compte facebook - Guide
- Ajouter signature word - Guide
3 réponses
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
4 juin 2018 à 22:12
4 juin 2018 à 22:12
Bonjour,
Exemple ici :
https://www.homeandlearn.org/parent_and_child_nodes.html
K
Exemple ici :
https://www.homeandlearn.org/parent_and_child_nodes.html
K
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
18 juin 2018 à 18:50
18 juin 2018 à 18:50
Bonjour,
En VB.NET (VS2010/2015), j'ajoute des nœuds en créant d'abord le nœud enfant.
J'ai un treeview à multiples étages (~ 15 étages).
Exemple non testé en VBA :
Bien sur, je créé une méthode qui génère un arbre généalogique par récursivité. Donc je n'ai pas
à gérer les sous nœuds des enfants de primier niveau...
En VB.NET (VS2010/2015), j'ajoute des nœuds en créant d'abord le nœud enfant.
J'ai un treeview à multiples étages (~ 15 étages).
Exemple non testé en VBA :
Public Sub Test() Dim NoeudParent As Nodes Dim NoeudEnfant As Nodes Dim NoeudPetitEnfants As Nodes NoeudPetitEnfants.Add Key:=Sheets("Feuil1").Cells(1, col).Value, Text:=Continent + CStr(counter) NoeudEnfants.Add NoeudPetitEnfants NoeudParents.Add NoeudEnfants End Sub
Bien sur, je créé une méthode qui génère un arbre généalogique par récursivité. Donc je n'ai pas
à gérer les sous nœuds des enfants de primier niveau...
Kalissi
Messages postés
218
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
15 juillet 2019
20
Modifié le 19 juin 2018 à 18:45
Modifié le 19 juin 2018 à 18:45
Bonjour,
Voici la solution :-) À adapter ... selon votre code ...
L'astuce est de nommé le nœud enfant existant ...
Ici le nœud enfant est [ Key:="Enf" + CStr(counter) ], codé en dur [ "Enf1" ] pour la démo.
' Création du noeud Petit Enfant
FrmUtilisateur.TreeView1.Nodes.Add "Enf1", tvwChild, Key:="PetEnf" + CStr(counter), Text:="Paul"
K
Voici la solution :-) À adapter ... selon votre code ...
L'astuce est de nommé le nœud enfant existant ...
Ici le nœud enfant est [ Key:="Enf" + CStr(counter) ], codé en dur [ "Enf1" ] pour la démo.
' Création du noeud Petit Enfant
FrmUtilisateur.TreeView1.Nodes.Add "Enf1", tvwChild, Key:="PetEnf" + CStr(counter), Text:="Paul"
Sub FillChildNodes(ByVal col As Integer, ByVal Continent As String) Dim LastRow As Long With Sheets("Feuil1") LastRow = .Cells(.Rows.Count, col).End(xlUp).Row End With Dim counter As Integer counter = 1 Dim country As Range For Each country In Range(Sheets("Feuil1").Cells(2, col), Sheets("Feuil1").Cells(LastRow, col)) Debug.Print ("country:" & country) ' Création de noeud Parent FrmUtilisateur.TreeView1.Nodes.Add Key:=Sheets("Feuil1").Cells(1, col).Value, Text:=Continent + CStr(counter) ' Création du noeud Enfant FrmUtilisateur.TreeView1.Nodes.Add Sheets("Feuil1").Cells(1, col).Value, tvwChild, Key:="Enf" + CStr(counter), Text:="Claude" ' Création du noeud Petit Enfant FrmUtilisateur.TreeView1.Nodes.Add "Enf1", tvwChild, Key:="PetEnf" + CStr(counter), Text:="Paul" counter = counter + 1 col = col + 1 Next country End Sub '
K
7 juin 2018 à 15:25