Afficher et masquer des lignes - VBA - Arborescence

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

MarcMad

XLDnaute Nouveau
Bonjour,

J'ai un ficher Excel me permettant d'afficher et de masquer des lignes en VBA suivant différentes cases à cocher.
J'aimerais créer une arborescence au lieu des case a cocher.

Voici la structure de l'arbre

1) Ensemble de murs

2) Isolation

3) Option murs
3.1) Vis SDS
3.2) Membrane
3.3) Contre-plaqué
3.4) Ancrage

4)Camurlat
4.1)Camurlat Murs
4.2)Camurlat Murs 2
4.3)Camurlat Plafonds

5) Feme de toit

6) Ensemble de placher
6.1) Vrac de plancher

7) Option Module

Voici mon fichier
 

Pièces jointes

A Tester ...

Nota:
Vous trouverez le rectangle arrondi ci-contre .
Ne pas supprimer celui-ci, il conditionne la position et l'affichage de l'userform
De plus si on ferme l'Usf par mégarde, on peut le relancer en cliquant sur ce rectangle
1597679486968.png
 

Pièces jointes

Fichier modifié.
Si vous ajoutez un onglet qui doit utiliser l'arborescence,
modifiez le code de l'Usf en y précisant ce nouvel onglet ( case "nom de l'onglet")
VB:
Sub Userform_Activate()

With TreeView1.Nodes
    .Clear
    Select Case ActiveSheet.Name
   
    Case "Estimation"
        .Add(Key:="N1", Text:="Ensemble de murs").Tag = "20:33"
        .Add(Key:="N2", Text:="Isolation").Tag = "34:40"
        .Add(Key:="N3", Text:="Options murs").Tag = "41:48"
            .Add("N3", tvwChild, "N3C1", Text:="Vis SDS").Tag = "42:42"
            .Add("N3", tvwChild, "N3C2", Text:="Membranes").Tag = "43:43"
            .Add("N3", tvwChild, "N3C3", Text:="Contre-Plaqué").Tag = "44:44"
            .Add("N3", tvwChild, "N3C4", Text:="Ancrages").Tag = "45:48"
        .Add(Key:="N4", Text:="Camurlat").Tag = "49:54"
            .Add("N4", tvwChild, "N4C1", Text:="Murs").Tag = "50:52"
            .Add("N4", tvwChild, "N4C2", Text:="Murs 2").Tag = "52:52"
            .Add("N4", tvwChild, "N4C3", Text:="Plafonds").Tag = "53:54"
        .Add(Key:="N5", Text:="Ferme de toit").Tag = "55:64"
        .Add(Key:="N6", Text:="Ensemble Plancher").Tag = "65:73"
            .Add("N6", tvwChild, "N6C1", Text:="Vrac Plancher").Tag = "70:73"
        .Add(Key:="N7", Text:="Option module").Tag = "74:79"
       
    Case "Autres"
        .Add(Key:="N1", Text:="Ensemble de murs").Tag = "20:33"
        .Add(Key:="N2", Text:="Isolation").Tag = "34:40"
        .Add(Key:="N3", Text:="Options murs").Tag = "41:48"
            .Add("N3", tvwChild, "N3C1", Text:="Vis SDS").Tag = "42:42"
            .Add("N3", tvwChild, "N3C2", Text:="Membranes").Tag = "43:43"
            .Add("N3", tvwChild, "N3C3", Text:="Contre-Plaqué").Tag = "44:44"
            .Add("N3", tvwChild, "N3C4", Text:="Ancrages").Tag = "45:48"
        .Add(Key:="N4", Text:="Camurlat").Tag = "49:54"
            .Add("N4", tvwChild, "N4C1", Text:="Murs").Tag = "50:52"
            .Add("N4", tvwChild, "N4C2", Text:="Murs 2").Tag = "52:52"
            .Add("N4", tvwChild, "N4C3", Text:="Plafonds").Tag = "53:54"
        .Add(Key:="N5", Text:="Ferme de toit").Tag = "55:64"
        .Add(Key:="N6", Text:="Ensemble Plancher").Tag = "65:73"
            .Add("N6", tvwChild, "N6C1", Text:="Vrac Plancher").Tag = "70:73"
        .Add(Key:="N7", Text:="Option module").Tag = "74:79"
    End Select
End With
Text= texte à afficher
Tag= range de lignes à cacher/afficher
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
On Error Resume Next
    Unload Usf_Tree
    Select Case Sh.Name
        Case "Estimation":     Usf_Tree.Show
        Case "Autres":         Usf_Tree.Show
    End Select
End Sub
Rajoutez le nom de l'onglet dans le Select.

Si vous n'avez pas créé le nouvel Onglet en dupliquant l'onglet "Estimation", copiez le rectangle USF dans le nouvel Onglet .
 

Pièces jointes

Dernière édition:
- 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

Discussions similaires

Retour