Treeview excel

Résolu/Fermé
moumouss81 Messages postés 16 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 24 avril 2008 - 26 oct. 2007 à 12:05
 Dom31 - 1 sept. 2008 à 08:51
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
A voir également:

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
2
fifayer Messages postés 73 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 14 décembre 2010
26 oct. 2007 à 12:10
Je pense qu'il faut déclarrer la DLL portant le treeview
0