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

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
 

Zdz16

XLDnaute Occasionnel
Bonjour Danreb cela fait un bail;

Voici un exemple de ce que je souhaite réaliser. Les explications sont dans le classeur.

Cordialement
 

Pièces jointes

  • zdz16.xlsx
    14.3 KB · Affichages: 65

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;


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
 

Zdz16

XLDnaute Occasionnel
Merci Dranreb.

Je me garde cela sous le coude pour l'étape de développement.Pour l'instant je suis au stade de rassembler les idées que j'ai en tête pour les mettre noir sur blanc.

Cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…