Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Creation shapes et clic pour déployer arborescence

  • Initiateur de la discussion Initiateur de la discussion erics83
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

erics83

XLDnaute Impliqué
Bonjour,

A la lecture des très bons tutos de JB (dans"Arborescence/Récursivité"), je vois qu'il est possible de créer des arborescence suivant une BD. Mais dans les différents exemples, à chaque fois, l'arborescence complète est affichée. Serait-il possible d'avoir une arborescence qui se développe "au fur et à mesure"...
JB propose cette solution via un USF :


Serait-il possible d'avoir ce résultat sans passer par un USF et si oui.....comment faire.....

Merci pour votre aide,
 
Bonjour patricktoulon,

C'est dans ces moments que je comprends à quel point il me reste beaucoup de choses à apprendre...car je n'ai rien compris....lol

Par contre, je vois que je me suis trompé dans le préfixe : j'ai Excel 2007....

Merci pour ton aide
 
Bonsoir,

Exemple de treeview simple dans feuille mais fiabilité en doute.

VB:
Sub essai()
  Sheets(1).TreeView1.Nodes.Clear
  For k = 1 To 5
    Sheets(1).TreeView1.Nodes.Add , , "maClé1" & k, "père" & k
  Next
  For j = 1 To 5
    For k = Sheets(1).TreeView1.Nodes.Count To Sheets(1).TreeView1.Nodes.Count + 2
      Sheets(1).TreeView1.Nodes.Add "maClé1" & j, tvwChild, "maClé2" & Str(k), "Fils" & k
    Next k
  Next j
End Sub


Boisgontier
 

Pièces jointes

Bonjour et merci JB,

Oui, cela fonctionne très bien, mais tout l'intérêt était de partir d'une BD ...
en fait, je souhaiterai faire comme les "cartes mentales" : en double-clic cela développe, exactement comme vos exemples de TreeView dans vos tutos, mais sans passer par un USF..(à moins que les TreeView génèrent automatiquement un USF et/ou que ce soit ça un TreeView...comme je ne connais pas...)

En vous remerciant pour votre aide,
Merci,
 
Dernière édition:
cf PJ

VB:
Dim tw, Tbl(), n
Sub Initialise()
  Tbl = Range("A2:E" & [A65000].End(xlUp).Row).Value
  pere = Tbl(1, 1)
  Set tw = Sheets(1).TreeView1
  Sheets(1).TreeView1.Nodes.Clear
  n = UBound(Tbl)
  tw.Nodes.Add(, , "NoeudMat" & pere, Tbl(1, 1)).Expanded = True ' Racine arbre
  Fils pere, 1
End Sub
Sub Fils(parent, niv)      ' procédure récursive
  For i = 2 To n
    cd = Tbl(i, 2)
    If cd = parent Then
      tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & Tbl(i, 1), Tbl(i, 1)).Expanded = False 'True
      Fils Tbl(i, 1), niv + 1
    End If
  Next i
End Sub

Boisgontier
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…