Comment créer une arborescence sous Excel

  • Initiateur de la discussion Initiateur de la discussion Loic
  • 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 !

L

Loic

Guest
Bonjour,

J'auraio voulu savoir si quelqu'un savait comment créer une arborescence sous Excel. Je m'explique: J'ai une liste de tâche ayant des sous-tâches. Je voudrai faire apparaitre ou disparaitre ces sous-tâches en cliquant sur les tâches.... un peu comme pour les arborescences de 'explorateur Window !!

Merci d'avance à ceux qui pourront me sauver ...

Loic
 
bonjour Loic

j'espere que ce lien pourra t'aider




bon apres midi
MichelXld
 
Dernière modification par un modérateur:
Bonjour tout le monde

Waouh, michel, super boulot, et dire que j'ai failli rater ca.

comme j'ai quand meme bossé sur la problèmatique, je joins mon fichier (dans coup, sans savoir pourquoi, je me sens tout ridicule 😱 ).

Salut

Ps : je me suis arrété à deux embranchements, je sais plus faire après 🙂
[file name=Classeur2_20050615130706.zip size=12730]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20050615130706.zip[/file]
 

Pièces jointes

Re : Comment créer une arborescence sous Excel

Bonjour,

Exemple d'arborescence avec procédure récursive:

Code:
Dim bdt, n, ligne
Sub vpersonnes(parent, niv)       ' procédure récursive
  ligne = ligne + 1
  Range("B16").Offset(ligne, niv) = parent
  Range("B16").Offset(ligne, niv).Borders(xlEdgeLeft).Weight = xlThin
  Range("B16").Offset(ligne, niv).Borders(xlEdgeBottom).Weight = xlThin

  For i = 1 To n
    If bdt(i, 2) = parent Then
       vpersonnes bdt(i, 1), niv + 1
    End If
  Next i
End Sub

Sub organigramme()
  Range("C17:M200").Clear
  ligne = 0
  n = Application.CountA(Range("a:a")) - 1
  bdt = Range("BD")
  vpersonnes Range("D2"), 1
End Sub


http://boisgontierjacques.free.fr/fichiers/jb-organigramme.xls

Exemple d'arborescence avec procédure récursive avec Treeview:

Code:
Dim tw As MSComctlLib.TreeView
Dim Base, n
Private Sub UserForm_Initialize()
  chef = [=MAX(IF(Pere="",Fils,0))]
  NomChef = Application.VLookup(chef, [BdPersonnel], 3)
  Set tw = Me.MonArbre
  n = [BdPersonnel].Rows.Count
  Base = [BdPersonnel]
  tw.Nodes.Add(, , "NoeudMat" & chef, NomChef).Expanded = True    ' Racine arbre
  vpersonnes chef
End Sub

Sub vpersonnes(parent)       ' procédure récursive
  For i = 1 To n
    If Base(i, 5) = parent Then
      tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & Base(i, 1), Base(i, 3)).Expanded = True
      vpersonnes Base(i, 1)
    End If
  Next i
End Sub

http://boisgontierjacques.free.fr/fichiers/jb-TreeViewExemples.zip

JB
Formation Excel VBA JB
 
Dernière édition:
Re : Comment créer une arborescence sous Excel

Bonjour,

je viens de récupérer le classeur proposé par BOISGONTIER. Je n'arrive pas à comprendre comment est déclarée "BdGénéalogie". Pourriez-vous m'expliquer comment cela fonctionne? Il faudrait que j'adapte ces feuilles à mes besoins.

Je vous remercie.
 
Re : Comment créer une arborescence sous Excel

Bonjour,

Tous les liens sont morts, quel dommage.
J'ai fouillé un peu partout sur le forum et je n'ai pas trouvé de solution a mon problème.
J'ai une nomenclature de plusieurs milliers de lignes que j'exporte dans un fichier excel dont la colonne A contient le niveau hierarchique de nomenclature (1, 2, 3, 4 ect...)
Je souhaiterais créer automatiquement (via la fonction grouper) l'arborescence avec les niveaux. Dans le fichier joint, en feuille 1 la nomenclature brute exportée, dans la feuille ce que je souhaite obtenir de façon automatisée.

Merci d'avance pour votre aide.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Comment créer une arborescence sous Excel

Bonjour à tous,
comme le sujet est relancé je continue dessus...
Quelques questions sur la page donnée par Boisgontier
BOISGONTIER Re : Comment créer une arborescence sous Excel
--------------------------------------------------------------------------------
Bonjour,



JB
je souhaiterais avoir qq. précisions:
  • comment faire pour que les 2 points entre article et désignation ne s'affichent pas? Je ne me sers que "d'article" donc la séparation n'est pas obligatoire
  • comment faire pour que l'arborescence soit "fermée" à l'ouverture?
  • comment faire pour que la cellule prenne la valeur choisie dans l'arborescence?
-et enfin, comment faire pour que l'arborescence s'ouvre lorsqu'on click sur une cellule de la plage "F2:F65000"?

Peut-être que ce qui est mis à disposition par Boisgontier ne me correspond pas si j'ai "tant" de modifications à y apporter?

Je ne suis pas hyper calé sur les macros (grâce à ce forum je m'en sors un peu) et sur cette fonction treeview pas du tout :d

Merci à tous de votre aide...
Je vous fais un classeur neutre le plus rapidement possible (dans l'heure max) pour que vous y "voyiez" plus clair!!

Tibo

Edit: et voilà le fichier! J'ai mis un petit commentaire pour expliquer, ainsi qu'un imprim écran de l'arborescence faite avec la page de Boisgontier.

Merci à vous!
 

Pièces jointes

Dernière modification par un modérateur:
Re : Comment créer une arborescence sous Excel

Bonjour,

BDGénéalogie est un nom de champ (Insertion/nom/définir)

BDGénéalogie =TreeGénéalogie!$A$4:$H$58

JB

Bonjour,
Je souhaite moi aussi créer une arboresence sous excel (2007) et j'arrive à l'adapter à mes besoins, mais je ne comprends pas comment est déclaré BDGénéalogie et TreeGénéalogie?
Pourriez vous m'éclairer? Merci d'avance et merci pr les exemples JB

J
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
1 K
Réponses
34
Affichages
12 K
Retour