Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/09/2011, 13h48   #1
Futur Membre du Club
 
Homme Alexandre FLORANC
Technicien de bureau d etude
Inscription : avril 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Alexandre FLORANC
Âge : 28
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Technicien de bureau d etude
Secteur : Industrie

Informations forums :
Inscription : avril 2011
Messages : 40
Points : 19
Points : 19
Par défaut Treeview dans une feuille ne fonctionne pas !!!

Bonjour à tous,

J'écrit ce post car j'éssaye en vaint de remplir un treeview sur une feuille Excel.

Mon code fonctionne parfaitement lorsque celui-ci se trouve dans une userform mais dans la feuille rien n'a faire, mes données ne s'affiche pas.

Ci dessous le début de mon code où je spécifie mon treeview. A noté que le code ne plante pas et que l'instruction "Tvw.Width = 500" fonctionne.

Merci d'avance à ceux qui pourront m'éclairer !
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Private Sub TreeViewInit()
 
Dim TableDescription
Dim TableParCh
Dim J
Dim I
Dim Nom_index
Dim Espion
Dim Noeud As Node
Dim K
Dim Tvw As OLEObject
 
 
Set Tvw = Feuil1.OLEObjects("TreeView1")
 
Tvw.Width = 500
 
With ActiveWorkbook.Worksheets("Parents_Child")
    J = .Range("A60000").End(xlUp).Row
    Range("A1:C" & J).Sort Key1:=Range("B2"), Order1:=xlDescending, Header:= _
    xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortTextAsNumbers
    TableParCh = .Range("A2:C" & J)
End With
 
With ActiveWorkbook.Worksheets("Description")
    J = .Range("A60000").End(xlUp).Row
    TableDescription = .Range("A2:E" & J)
End With
 
On Error Resume Next
J = 1
'construction des parents
Tvw.Nodes.Add , , , TableParCh(1, 2)
 
......blalalal......
 
'nomage des noeuds
 
For K = 1 To Tvw.Nodes.Count
    Tvw.Nodes.Item(K).Text = RechercheNom(Tvw.Nodes.Item(K).Text, TableDescription)
Next K
'trie
For K = 1 To Tvw.Nodes.Count
   Set Noeud = Tvw.Nodes.Item(K)
   Noeud.Sorted = True
Next K
 
Tvw.Refresh
 
End Sub
a.floranc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 17h54   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Ton code fonctionne parfaitement... grâce à "on Error". Le contrôle n'a pas tout à fait les mêmes propriétés sur une feuille; mets "Object avant "Nodes" :

Code :
Tvw.Object.Nodes.Add , , , TableParCh(1, 2)
au lieu de :

Code :
Tvw.Nodes.Add , , , TableParCh(1, 2)
etc.
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h16.


 
 
 
 
Partenaires

Hébergement Web