treeview

hidozo

XLDnaute Occasionnel
y a t-il un nombre max de parent, enfant dans le triview.

Apparemment je suis blouqé à 10.

Comment faire pour en avoir plus ?

Cordialement

Hidozo
 

hidozo

XLDnaute Occasionnel
Re : treeview

Re bonjour,

Effectivement, je peux dépasser les 10.

Par exemple dans le chapitre 4, j'ai 4.1 ... 4.2 ... puis jusqu'à 4.12.

La base de données des chapitres se fait bien dans Excel, mais par contre l'afficgahe dans le treeview ne dépasse pas 4.9.

voici le code de l'initialize :


'Dictionnaire du treeview
Dim Niveau_0
Dim NiveauInf
Worksheets("BD").Select

NumAetL = Worksheets("BD").Range("A65000").End(xlUp).Row
Niveau_0 = "0"
NiveauInf = Application.VLookup(Niveau_0, Range("A2:F" & NumAetL), 2, False)
Set tw = Me.MonArbre
n = Range("A2:F" & NumAetL).Rows.Count
Base = Range("A2:F" & NumAetL)
'tw.Nodes.Add(noeud_père,twchild,création_noeud_courant,libellé_noeud)
tw.Nodes.Add(, , "NoeudMat" & Niveau_0, NiveauInf).Expanded = True ' Racine arbre
vpersonnes Niveau_0

est-ce que quelqu'un y comprend quelque chose ?

Cordialement

Hidozo
 

tototiti2008

XLDnaute Barbatruc
Re : treeview

Bonjour hidozo,

Comprend pas...

ma méthode pour ajouter un node :

Code:
        With BDGestCode.TVClasCode
            .Nodes.Add Relative:=ClefPar, Relationship:=tvwChild, Key:=ClefNouv, _
                Text:=Nom, Image:=IIf(Typ = "Groupe", 4, 5)
End With
 

Pièces jointes

  • essai.JPG
    essai.JPG
    9.3 KB · Affichages: 172
  • essai.JPG
    essai.JPG
    9.3 KB · Affichages: 178
  • essai.JPG
    essai.JPG
    9.3 KB · Affichages: 177

hidozo

XLDnaute Occasionnel
Re : treeview

Re tototiti

merci pour cet exemple qui prouve que je ne suis qu'un petit scarabée et surtout dans le treeview...

Par contre, je vois bien que ton code fonctionne (vu la photo), par contre, je ne sais pas comment modifier le mien. Je te tjoints le code de mon userform au complet :

Dim mclsFormChanger As CFormChanger
Dim tw As MSComctlLib.TreeView
Dim Base, n
Dim NumAetL
Dim DerlistAetL

Private Sub UserForm_Activate()
Set mclsFormChanger = New CFormChanger
'Initialise to be like a 'standard' userform
mclsFormChanger.ShowTaskBarIcon = True
mclsFormChanger.ShowMinimizeBtn = True
'Set the form changer to change this userform
Set mclsFormChanger.Form = Me

End Sub

Private Sub UserForm_Initialize()
Exemple.Visible = False
Label2.Visible = False
Appliquer.Visible = False
Label3.Visible = False
Label4.Visible = False
Label5.Visible = False
CommandButton1.Visible = False
If Worksheets("Introduction").Cells(1, 1).Value = Worksheets("ADMINISTRATION").Cells(2, 1).Value Then
F_Tree_Recursif1.Width = 716
Else
F_Tree_Recursif1.Width = 534
End If

'Dictionnaire du treeview
Dim Niveau_0
Dim NiveauInf
Worksheets("BD").Select

NumAetL = Worksheets("BD").Range("A65000").End(xlUp).Row
Niveau_0 = "0"
NiveauInf = Application.VLookup(Niveau_0, Range("A2:F" & NumAetL), 2, False)
Set tw = Me.MonArbre
n = Range("A2:F" & NumAetL).Rows.Count
Base = Range("A2:F" & NumAetL)
'tw.Nodes.Add(noeud_père,twchild,création_noeud_courant,libellé_noeud)
tw.Nodes.Add(, , "NoeudMat" & Niveau_0, NiveauInf).Expanded = True ' Racine arbre
vpersonnes Niveau_0

End Sub
Sub vpersonnes(parent) ' procédure récursive
Dim i, k, temp
For i = 2 To n
k = Len(Base(i, 1))
If k = 1 Then temp = "0" Else temp = Left(Base(i, 1), k - 2)
If temp = "" Then temp = "0"
If temp = parent Then
tw.Nodes.Add("NoeudMat" & parent, tvwChild, "NoeudMat" & Base(i, 1), Base(i, 1) & ") " & Base(i, 2)).Expanded = False
vpersonnes Base(i, 1)
End If
Next i
End Sub
Private Sub MonArbre_NodeClick(ByVal Node As MSComctlLib.Node)
'Recherche treeview
Dim i
For i = 1 To 30000
If MonArbre.SelectedItem = Worksheets("BD").Cells(i, 2).Value Then
If Worksheets("BD").Cells(i, 4).Value = "" Then Label4.Visible = False Else Label4.Visible = True
If Worksheets("BD").Cells(i, 5).Value = "" Then Label5.Visible = False Else Label5.Visible = True
Me.Explication = Worksheets("BD").Cells(i, 3).Value
Me.Exemple = Worksheets("BD").Cells(i, 4).Value
Me.Appliquer = Worksheets("BD").Cells(i, 5).Value
Label1.Visible = True
Exemple.Visible = False
Label2.Visible = False
Appliquer.Visible = False
Label3.Visible = False
End If
Next i
End Sub

De plus tu me dis dans ton 1er post de tester ton outil organiser ses codes VBA, j'ai cliqué dessus, mais rien...

Cordialement

hidozo
 

hidozo

XLDnaute Occasionnel
Re : treeview

re,

ci-joint doc épuré, non zippé!!!!

noter le noeud dans textbox en dessosu de Nouvel élément de travail
noter son nom dessous

et cliquer sur bouton Nouvel élément de travail

ET on ne ne peyut que faire 4.9, mais par contre on ne peut plus afficher à partir de 4.10. Il sont bien dans Excel, mais n'apparaissent pas le treeview.

Merci pour votre aide.

Cordialement

Hidozo
 

Pièces jointes

  • treeview.xls
    27 KB · Affichages: 185

hidozo

XLDnaute Occasionnel
Re : treeview

re bonjour,

Je prends enfin le temps de revenir sur ce problème

les données après 2.9 ne s'affichent pas dans le treeview et j'ai bien lu les explications sur le lien donné par Kjin, je n'arrive pas à modifier le fichier et l'erreur.

Je tiens à préciser que ce treeview n'est pas de moi et que je cherche juste à l'adapter.

Cordialement

Hidozo






;

Je joints un ficheir avec l'exmple.

Les données après 2.
 

Pièces jointes

  • Testtreeview.xls
    34.5 KB · Affichages: 214

Discussions similaires

Réponses
3
Affichages
228

Statistiques des forums

Discussions
312 298
Messages
2 086 981
Membres
103 419
dernier inscrit
mk29