Une arborescence sur une feuille

Zdz16

XLDnaute Occasionnel
Bonjour a tous et au forum;
Il n'est pas encore tard, je vous souhaite un bonne année 2017.

Je voudrai créer une arborescence à 2 niveaux sur une feuille (Pas dans une userform) dont les nœuds sont les lignes de la feuille, du type Maitre/Détails. Lorsque on déroule la ligne maitre les lignes détails associées s'affichent en dessous de la ligne maitre (idem Treeview) et vis versa.

Est-ce que cela est possible et avez vous des exemples ?
Ma recherche sur la toile a aboutit à l'utilisation du Treeview sur des userforms, cela ne me convient pas.

Merci d'avance
 

Zdz16

XLDnaute Occasionnel
Bonjour Nicole;
Merci pour la réponse, c'est intéressant, toutefois ce n'est pas ce que je cherche. En effet ce n'est pas la construction d'un organigramme ou une arbre statique que cherche. C'est plus du dynamique car l'utilisateur va inter-agir avec la feuille en ajoutant des nœuds.
Je vais me pencher sur le groupage de colonnes avec différents niveaux. Toutefois d'après ce que j'ai compris cela nécessite une colonne calculée (Sous Total).
Merci et cordialement
 

Zdz16

XLDnaute Occasionnel
Oh pardon, j'ai mal décris la chose
Par dynamique, j'entends intervention directe dans arborescence par l'utilisateur.
Dès que j'aurai un moment je vais créer un fichier exemple pour expliquer tout cela

Cordialement et toujours Merci
 

Dranreb

XLDnaute Barbatruc
Qu'appelez vous le volet de groupage, compte tenu des extraits :
… réaliser cela sans passé par le groupage d'XL
… générer un groupage sans faire des sous-totaux
Peut être voulez vous dire avec le groupage d'Excel sur des ligne de sous-totaux mais sans passez par les commandes qui les mettent en place ?
Ou par masquage des lignes détails des OF différents de celui sélectionné ?
 

Zdz16

XLDnaute Occasionnel
Bonjour Danreb et au forum;

sur
https://support.office.com/fr-fr/article/Présenter-des-données-groupe-sous-forme-de-plan-dans-une-feuille-de-calcul-3b03f3a0-d000-4f7c-9181-be4355959d90
Insérez des lignes de synthèse.
Pour afficher les données par ligne en mode plan, les lignes de synthèse doivent contenir des formules qui font référence aux cellules de chaque ligne de détail pour le groupe. ...

C'est l'objet de ma question (peut-on réaliser cela sans formule ?)
Maintenant en vous lisant, je me dis, ne serait-il plus facile de gérer le masquage que gérer des plans. C'est une idée à creuser.

Cordialement
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Ça, dans le module de la feuille, fait un peu ça.
VB:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim LOC As Range, ValOF As String
ValOF = Target.EntireRow.Columns("A").Value
Set LOC = LignesOùCondR1C1(Rows(2), "AND(RC2<>"""",RC1<>""" & ValOF & """)")
Me.Rows.Hidden = False
LOC.Hidden = True
End Sub

Function LignesOùCondR1C1(ByVal LigneDéb As Range, ByVal CondR1C1 As String) As Range
Rem. ——— Lignes entières partant de LigneDéb qui vérifient une condition R1C1 CondR1C1.
Dim Lignes As Range, ColTrv As Range
With LigneDéb.Worksheet.UsedRange
   Set Lignes = LigneDéb.EntireRow.Resize(.Rows.Count + .Row - LigneDéb.Row)
   Set ColTrv = Intersect(.Columns(.Columns.Count + 1), Lignes): End With
ColTrv.FormulaR1C1 = "=1/(" & CondR1C1 & ")"
On Error Resume Next
Application.EnableEvents = False
Set LignesOùCondR1C1 = ColTrv.SpecialCells(xlCellTypeFormulas, 1).EntireRow
ColTrv.Delete xlShiftToLeft
Application.EnableEvents = True
End Function
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16