Treeview excel
Résolu
moumouss81
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
Dom31 -
Dom31 -
Salut,
Voilà je désire faire un treeview. Normalement les info sont récupérées par une macro et sont diffusées sur un Userform. Mon problème c'est qu'au lancement la fenêtre de débogage s'affiche et m'annonce que la déclaration Dim tw As MSComctlLib.TreeView n'est pas définie. Quelqu'un a la solution?
Voilà la macro:
Dim tw As MSComctlLib.TreeView
Dim Base, n
Private Sub UserForm_Initialize()
Base = [BDDOC]
n = [BDDOC].Rows.Count
Code = Cells(ActiveCell.Row, 1)
On Error Resume Next
Err = 0
prénoms = Application.VLookup(Code, [BDDOC], 12, False) & _
"-" & Format(Application.VLookup(Code, [BDDOC], 15, False), "dd/mm/yyyy")
If Err <> 0 Then prénoms = "xxxx"
Set tw = Me.MonArbre
'tw.Nodes.Add(noeud_père,twchild,création_noeud_courant,libellé_noeud)
tw.Nodes.Add(, , "NoeudMat" & Code, prénoms).Expanded = True ' Racine arbre
vpersonnes Code
End Sub
Sub vpersonnes(parent) ' procédure récursive
For i = 1 To n
If Base(i, 2) = parent Then
tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & _
Base(i, 1), Base(i, 13) & "-" & Base(i, 15) & " [" & Base(i, 16) & "]").Expanded = True
vpersonnes Base(i, 1)
End If
Next i
End Sub
Private Sub MonArbre_NodeClick(ByVal Node As MSComctlLib.Node)
If Left(Node.Key, 8) = "NoeudMat" Then
Me.Intitule = Application.VLookup(Val(Mid(Node.Key, 9)), [BDDOC], 15, False)
Me.Code = Application.VLookup(Val(Mid(Node.Key, 9)), [BDDOC], 13, False)
Me.dte = Format(Application.VLookup(Val(Mid(Node.Key, 9)), [BDDOC], 16, False), "dd/mm/yyyy")
End If
End Sub
Voilà je désire faire un treeview. Normalement les info sont récupérées par une macro et sont diffusées sur un Userform. Mon problème c'est qu'au lancement la fenêtre de débogage s'affiche et m'annonce que la déclaration Dim tw As MSComctlLib.TreeView n'est pas définie. Quelqu'un a la solution?
Voilà la macro:
Dim tw As MSComctlLib.TreeView
Dim Base, n
Private Sub UserForm_Initialize()
Base = [BDDOC]
n = [BDDOC].Rows.Count
Code = Cells(ActiveCell.Row, 1)
On Error Resume Next
Err = 0
prénoms = Application.VLookup(Code, [BDDOC], 12, False) & _
"-" & Format(Application.VLookup(Code, [BDDOC], 15, False), "dd/mm/yyyy")
If Err <> 0 Then prénoms = "xxxx"
Set tw = Me.MonArbre
'tw.Nodes.Add(noeud_père,twchild,création_noeud_courant,libellé_noeud)
tw.Nodes.Add(, , "NoeudMat" & Code, prénoms).Expanded = True ' Racine arbre
vpersonnes Code
End Sub
Sub vpersonnes(parent) ' procédure récursive
For i = 1 To n
If Base(i, 2) = parent Then
tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & _
Base(i, 1), Base(i, 13) & "-" & Base(i, 15) & " [" & Base(i, 16) & "]").Expanded = True
vpersonnes Base(i, 1)
End If
Next i
End Sub
Private Sub MonArbre_NodeClick(ByVal Node As MSComctlLib.Node)
If Left(Node.Key, 8) = "NoeudMat" Then
Me.Intitule = Application.VLookup(Val(Mid(Node.Key, 9)), [BDDOC], 15, False)
Me.Code = Application.VLookup(Val(Mid(Node.Key, 9)), [BDDOC], 13, False)
Me.dte = Format(Application.VLookup(Val(Mid(Node.Key, 9)), [BDDOC], 16, False), "dd/mm/yyyy")
End If
End Sub
A voir également:
- Arborescence excel treeview
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
2 réponses
Salut, essaye la manip suivante :
TreeView > manque une référence de bibliothèque
Microsoft Windows Common Controls 6.0
Dans barre d’outils de l’éditeur VB > Outils / Références
Boite dialogue ‘Références- Project’ > cliquez sur ‘Parcourir’
Boite d’invite ‘Ajouter une référence’ :
Type de fichier > sélectionner Contrôles ActiveX (*.ocx)
Sélectionner le fichier nommé MSCOMCTL.OCX
Cliquez sur ‘Ouvrir’ pour établir le lien
Pour terminer : cliquez sur ‘OK’ de la boîte ‘Références – Project’
Cordialement. Dom31
TreeView > manque une référence de bibliothèque
Microsoft Windows Common Controls 6.0
Dans barre d’outils de l’éditeur VB > Outils / Références
Boite dialogue ‘Références- Project’ > cliquez sur ‘Parcourir’
Boite d’invite ‘Ajouter une référence’ :
Type de fichier > sélectionner Contrôles ActiveX (*.ocx)
Sélectionner le fichier nommé MSCOMCTL.OCX
Cliquez sur ‘Ouvrir’ pour établir le lien
Pour terminer : cliquez sur ‘OK’ de la boîte ‘Références – Project’
Cordialement. Dom31