liste +arbre catproduct VBA
3 participants
Page 1 sur 1
liste +arbre catproduct VBA
bonjour
je fait actuellement un programme listant les différent sous Product et part d'un ensemble
mais je voudrai aussi qu'il me l'affiche en arborescence
j'ai donc ce code pour le moment:
UserForm2.tree.Nodes.Item(i) = tableau(i)
une explication s'il vous plait
si quelqu'un a des conseil sur le reste oui vois d'autre erreur je suis preneur
merci d'avance
cordialement
quentin
je fait actuellement un programme listant les différent sous Product et part d'un ensemble
mais je voudrai aussi qu'il me l'affiche en arborescence
j'ai donc ce code pour le moment:
- Code:
Public NDocCatia As Document
Public ProductDocCatia As ProductDocument
Public NomActif As String
Public PartDocCatia As PartDocument
Dim tableau() As String
Dim i As Integer
Public Property Get DocCatia() As Documents
Set DocCatia = CATIA.Documents
End Property
Public Property Get NomDocActif() As String
NomDocActif = ProduitSelect.Name
End Property
Public Property Get NouveauDocCatia() As Documents
Set NouveauDocCatia = CATIA.Documents
End Property
Public Property Get ProduitSelect() As ProductDocument
'
NomActif = CATIA.ActiveDocument.Name
If (InStr(1, NomActif, "CATProduct") > 0) Then
Set ProduitSelect = CATIA.ActiveDocument
Else
MsgBox ("l'application ne fonctionne que pour les assemblages"), vbOKOnly
End
End If
End Property
Public Function ListeDoc()
i = 0
For Each NDocCatia In DocCatia
NomDocCatia = NDocCatia.Name
CompteProduct = 0
ComptePart = 0
'
If (InStr(1, NomDocCatia, "CATProduct") > 0) Then
Extensionfichier = "CATProduct"
Set ProductDocCatia = NouveauDocCatia.Item(NomDocCatia)
If NomDocActif = NDocCatia.Name Then
Else
UserForm2.ListBox1.AddItem "----------"
UserForm2.ListBox1.AddItem ProductDocCatia.Product.PartNumber
UserForm2.ListBox1.AddItem "----------"
CompteProduct = CompteProduct + 1
UserForm2.tree.Nodes.Add
i = i + 1
ReDim tableau(i)
tableau(i) = ProductDocCatia.Product.PartNumber
End If
End If
If (InStr(1, NomDocCatia, "CATPart") > 0) Then
Extensionfichier = "CATPart"
Set PartDocCatia = NouveauDocCatia.Item(NomDocCatia)
UserForm2.ListBox1.AddItem "----------"
UserForm2.ListBox1.AddItem PartDocCatia.Product.PartNumber
UserForm2.ListBox1.AddItem "----------"
ComptePart = ComptePart + 1
UserForm2.tree.Nodes.Add
i = i + 1
ReDim tableau(i)
tableau(i) = PartDocCatia.Product.PartNumber
End If
Next
For n = 1 To i
UserForm2.tree.Nodes.Item(i) = tableau(i)
Next n
End Function
Sub CATMain()
ListeDoc
UserForm2.Show
End Sub
UserForm2.tree.Nodes.Item(i) = tableau(i)
une explication s'il vous plait
si quelqu'un a des conseil sur le reste oui vois d'autre erreur je suis preneur
merci d'avance
cordialement
quentin
Dernière édition par quentinc le Jeu 16 Juin 2016 - 9:27, édité 1 fois
quentinc- actif
- Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline
Re: liste +arbre catproduct VBA
Bonjour,
Peux tu etre plus precis quand tu dis qu'il y a une erreur.
Quel type d'erreur? incompatibilité...?
raphael
Peux tu etre plus precis quand tu dis qu'il y a une erreur.
Quel type d'erreur? incompatibilité...?
raphael
raphael_59240- actif
- Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque
Re: liste +arbre catproduct VBA
type mismatch
quentinc- actif
- Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline
Re: liste +arbre catproduct VBA
Bonour,
y a t il possibilite d'obtenir ton fichier macro?
Si oui j e transmettrai MP mon adresse mail
raphael
y a t il possibilite d'obtenir ton fichier macro?
Si oui j e transmettrai MP mon adresse mail
raphael
raphael_59240- actif
- Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque
Re: liste +arbre catproduct VBA
oui il n'y a aucun problème
quentin
quentin
quentinc- actif
- Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline
Re: liste +arbre catproduct VBA
ok va ta messagerie c'est fait
raphael_59240- actif
- Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque
Re: liste +arbre catproduct VBA
bonjour,
pour commencer j ai déclaré le tableau en variant car en mettant
apres tu as une erreur de définition car le programme plante sur ton
je n arrive pas trop à voir ce que tu cherches à faire hors mis de recréer l’arborescence dans un user forme.
peut etre que ceci pourrais t'eclairé :http://silkyroad.developpez.com/VBA/XlOrganigramme/
Raphael
pour commencer j ai déclaré le tableau en variant car en mettant
- Code:
UserForm2.tree.Nodes.Item(i)
apres tu as une erreur de définition car le programme plante sur ton
- Code:
UserForm2.tree.Nodes.Count
je n arrive pas trop à voir ce que tu cherches à faire hors mis de recréer l’arborescence dans un user forme.
peut etre que ceci pourrais t'eclairé :http://silkyroad.developpez.com/VBA/XlOrganigramme/
Raphael
raphael_59240- actif
- Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque
Re: liste +arbre catproduct VBA
bonjour,
je cherche justement a reproduire l'arborescence dans une user forme, mais je ne comprend pas comment indiqué que telle product est le parent d'un autre.
l'objectif final est que le programme compare les nom des parent enfant afin de savoir si sa correspond bien a une norme prédéfinie
je cherche justement a reproduire l'arborescence dans une user forme, mais je ne comprend pas comment indiqué que telle product est le parent d'un autre.
l'objectif final est que le programme compare les nom des parent enfant afin de savoir si sa correspond bien a une norme prédéfinie
quentinc- actif
- Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline
Re: liste +arbre catproduct VBA
Salut Quentin,
Je suis parti d'une autre source pour ton problème d'arbre voici le code:
Je suis parti d'une autre source pour ton problème d'arbre voici le code:
- Code:
Sub CATMain()
'*******************************************************
'*** Macro pour lister l'arbre d'un Product ***
'*** Il faut une userform nommée UserForm1 ***
'*** avec une listbox nommée ListBox1 ***
'*** avec une treeview nommée Treeview1 ***
'*** Source:CATIA PORTABLE SCRIPT CENTER VERSION 2.0 ***
'*******************************************************
'*** http://catiav5.forumactif.org/t1462-liste-arbre-catproduct-vba#6534
On Error Resume Next
Dim myTree As TreeView
Dim myList As ListBox
Set myTree = UserForm1.TreeView1
Set myList = UserForm1.ListBox1
Dim myDoc As Document
Dim myrootProduct As Product
Set myDoc = CATIA.ActiveDocument
If myDoc Is Nothing Then
MsgBox "Please load a product - THEN activate this function!"
Return
End If
Set myrootProduct = myDoc.Product
visitProduct myrootProduct, "", myTree
UserForm1.Show
End Sub
Sub visitProduct(prod As Product, parentKey As String, ByRef myTree As TreeView)
On Error Resume Next
Dim children As Products
Set children = prod.Products
Dim i As Integer
Dim child As Product
Dim key As String
Dim label As String
label = prod.PartNumber & " / " & prod.Name ' pour afficher le pratNumber et le nom d'instance
key = parentKey & "###" & prod.Name
If parentKey = "" Then
myTree.Nodes.Add(, , key, label).Expanded = True
UserForm1.ListBox1.AddItem "----------"
UserForm1.ListBox1.AddItem prod.PartNumber
UserForm1.ListBox1.AddItem "----------"
Else
myTree.Nodes.Add(parentKey, tvwChild, key, label).Expanded = True
UserForm1.ListBox1.AddItem "----------"
UserForm1.ListBox1.AddItem prod.PartNumber
UserForm1.ListBox1.AddItem "----------"
End If
For i = 1 To children.Count
Set child = children.Item(i)
visitProduct child, key, myTree
Next
End Sub
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: liste +arbre catproduct VBA
bonjour,
merci beaucoup pour ton programme ,
pour ces deus ligne :*
Sub visitProduct(prod As Product, parentKey As String, ByRef myTree As String)
Dim myTree As TreeView
mon logiciel ne reconnait pas le TreeView a tu une idée ?
il me manque aussi l'outil pour créer le treeview dans user form je suis obliger de le copier de programme existent.
me manque t'il une option ou extension?
cordialement
quentin
merci beaucoup pour ton programme ,
pour ces deus ligne :*
Sub visitProduct(prod As Product, parentKey As String, ByRef myTree As String)
Dim myTree As TreeView
mon logiciel ne reconnait pas le TreeView a tu une idée ?
il me manque aussi l'outil pour créer le treeview dans user form je suis obliger de le copier de programme existent.
me manque t'il une option ou extension?
cordialement
quentin
quentinc- actif
- Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline
Re: liste +arbre catproduct VBA
bonjour,
c'est bon j'ai trouver en cherchant dans l'outil référence,
encore merci pour ton aide
A bientôt
quentin
c'est bon j'ai trouver en cherchant dans l'outil référence,
encore merci pour ton aide
A bientôt
quentin
quentinc- actif
- Messages : 33
Date d'inscription : 07/06/2016
Localisation : saint quentin en yveline
Re: liste +arbre catproduct VBA
bonjour,
edite ton premier message pour y mettre un statut resolu
edite ton premier message pour y mettre un statut resolu
raphael_59240- actif
- Messages : 127
Date d'inscription : 28/03/2015
Age : 53
Localisation : dunkerque
Sujets similaires
» Remplacer un component interne par un catproduct
» CATPart et CATProduct
» Contraintes sous CATProduct
» Detecter le Niveau Actif (CATProduct/Composant/CATPart)
» Convertir un CATPart en CATProduct
» CATPart et CATProduct
» Contraintes sous CATProduct
» Detecter le Niveau Actif (CATProduct/Composant/CATPart)
» Convertir un CATPart en CATProduct
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum