Bonjour à tous,
Je me permets de créer un sujet qui semble en lien avec le sujet : http://catiav5.forumactif.org/t1407-macro-pour-ajout-suppression-propriete
J'ai besoin de créer un petit script Catia permettant de mettre à jour les propriétés des part d'un assemblage Catia, à partir d'un gros document excel qui est en fait le BOM. Je souhaite donc mettre à jour ces propriétés automatiquement et ne pas devoir ouvrir une a une les propriétés de toutes les pièces..! L'idée est d'identifier la pièce grâce à son nom CATIA et de faire le lien avec la ligne qui correspond dans Excel, puis finalement de mettre à jour les propriétés lorsque cette identification est effectuée.
J'ai essayé d'utiliser le code du sujet ci-dessus mais sans résultat..
Au passage, j'ai trouvé une vidéo qui correspond exactement à ce que je recherche (de Excel vers CATIA), mais il n'y a malheureusement pas d'indication sur le script..
http://youtube.com/watch?v=IvG4U_6AcNg
Merci d'avance pour votre aide!
Kévin
Bonjour
je ne suis pas expert "macro" désolé mais j'ai regardé la vidéo et c'est une macro de confort pour l'utilisateur, elle crée la table Excel utilisant les propriétés de type "chaine" des fichiers CATIA tels que "reference", "designation" "révision", etc.
Elle evite a l'utilisateur de sélectionner la commande de création de la table de paramétrage et la sélections manuelle des 8 propriétés (parametres "chaines") et crée la table
Hors si je comprend bien c'est a partir d'un Excel (BOM) tu veux mettre a jour nimporte quelle ASS Catia ?
Ce que l'on voit dans la vidéo c'est le lien entre une table Excel de paramétrage et son assemblage (UNIQUE).
Sans passer par une macro, on peut mettre a jour les propriétées d'un assemblage a partir d'un fichier Excel avecune mise en formes (BOM). Il suffit de créer dans le classeur une feuille de calcul qui contient les collones ("reference", "designation" "révision"etc), le contenue de ces collonnes est extrait de la feuille BOM, et les collonnes sont associées aux paramètres CATIA (les noms des collones et des paramètres etant les mêmes c'est assez rapide).
Bonjour Franck,
Merci pour cette reponse.
En effet, une bonne partie de la video montre la creation du tableau excel a partir de l'assemblage CATIA, mais a partir de 2min24 dans la video, il utilise l'inverse, c'est a dire la mise a jour des proprietes de ses parts.
Tu as effectivement bien compris, je souhaite mettre a jour les parts d'un assemblage catia grace a mon fichier excel (BOM). Je ne savais pas que c'etait directement possible de cette facon, peux tu m'expliquer comment extraire les informations de ma feuille BOM vers mon assemblage CATIA?
Merci a toi pour ton aide!
Kevin
C'est le comportement normale de CATIA les modifications d'une table de paramétrage sont automatiquement répercutés sur les fichiers CATIA liés.
L'utilisation de macro facilite le procéssus (c'est utile quand on fait ça tous les jours).
Pour associer ta BOM avec CATIA il faut comme je l'ai dis passer par une feuille intermédiaire qui associe une colonne de la BOM a une colonne correspondante avec le Nom CATIA du paraméttre.
Effectivement, cela semble correspondre a ce que je recherche!
Je ne connaissais pas les tableaux parametrables.
J'ai donc realise un tableau lie a ma feuille excel, j'ai tente sur un part uniquement et cela fonctionne! Cependant, lorsque je tente sur un assemblage, seule les proprietes de l'assemblage sont changees par la premiere ligne de mon tableau excel... J'ai en fait deja les noms des pieces entrees dans mon product, et je n'arrive pas a faire lier ce tableau afin qu'il reconnaisse le nom des pieces et ensuite qu/'il associe les proprietes correspondaites, tu vois ce que je veux dire?
Encore une fois, merci pour ton aide!!
(Desole pour mes messages, je ne peux pas utiliser d'accents..)
Kevin
Le plus simple est de générer le tableau depuis l'assemblage CATIA.
Comme ça tout est bien associé puis de coller la feuille BOM dans ce classeur Excel et créér les formules Excel.
Je regarde ce que j'aie comme aide sur ce sujet.
Tres bonne idee! Encore une fois, il y a uniquement l'assemblage qui se retrouve dans le tableau, sais tu si il y a une option a cocher quelque part qui permet aussi d'ajouter les pieces de cet assemblage (ainsi que les pieces des sous assemblages)?
Kevin
Regarde le point N° 3 création de la table de paramétrage
http://www.lynkoa.com/tutos/3d/catpart-pilote-est-famille-de-pieces-catiav5
C'est la même chose pour un ASS même filtre de départ (Chaine) pour filtrer sur les propriétées "reference", "designation" "révision", etc.
Au moment de choisir l'orientation de la table j'ai pris horizontale choisis :
H les propriétées seront en tete de colonne.
V les propriétées seront en tete de lignes
A choisir selon l'orientation de ta feuille BOM
EDIT :
Alors, j'ai essaye en effectuant les etapes de la video, mais je n'ai pas de Parametres comme on peut le voir dans cette video puisque je souhaite uniquement modifier les proprietes de type chaine comme tu l'as remarque.
En essayant avec un petit assemblage (il y a des centaines de pices dans celui dont je souhaite finalement parametrer les proprietes) et j'ai encore une fois uniquement une seule ligne dans mon tableau comme tu peux le voir dans l'image ci-joint.
Sais tu d'ou cela peut venir?
EDIT : Je viens de voir ton edit, je vais essayer en ajoutant toutes les proprietes dans ce cas, mais au vu du nombre de pieces je ne sais pas si cela va fonctionner
capture.png
J'ai essaye, et ca commence a vraiment se rapprocher de ce que je souhaite!
J'ai un dernier petit probleme, que ce soit en vertical ou en horizontal, les proprietes des differentes parts se mettent a la suite, comme ceci :
Sais tu comment corriger cela?
Merci a toi pour le temps consacre a mon petit probleme!
Si tu a beaucoup de pièces tu peux ajouter un filtre supplémentaire sur le nom
EDIT : Essai de refaire les manip car normalement cela donne ça.
Effectivement, c'est ce que j'ai aussi. Cependant, voici a quoi ressemble le tableau que je souhaite obtenir car c'est de cette facon que mon BOM est construit :
Vois tu ce que je veux dire? Est ce possible?
Je viens de comprendre .
Le PB c'est le trie des paramètres et l'ordre des composants de l'assemblage.
Si comme dans la réponse précédente tu filtre succéssivement par nom tu obtiendra une colonne triée
En suite il faut trouver la formule Excel qui renvoie le contenue de la bonne collone dans la sélection de ligne trié correspondant a la recherche du nom
Je regarde ce que je sais faire sous Excel
C'est effectivement ca le probleme.. Tres bien, merci a toi. Je vais egalement essayer de mon cote.
Une solution
Recherche
=RECHERCHEV(STXT(A1;2;11);Feuil2!A1:D4;1;FAUX)
Renvoie a partir de la gauche les 11 premiers caractères a partir du deuxieme
=RECHERCHEV(STXT(A1;2;11);Feuil2!A1:D4;1;FAUX)
Plage de célules de la feuille 2 ou vas s'apilquer la recherche
=RECHERCHEV(STXT(A1;2;11);Feuil2!A1:D4;1;FAUX)
1 N° de la colonne
Dans mon exemple
1 = Colonne A feuille.2 (Part Number)
2 = Colonne B feuille.2 (Reference)
FAUX je cherche la valeur exacte
EDIT : j'ai mis le fichier Excel en pièce jointe
formules.xlsx
Je ne pense pas avoir compris ton message et les formules, voici ce que j'ai avec ton fichier excel :
Est ce bien le resultat que tu as?
EDIT : Autant pour moi je n'avais pas vu la feuille 2, je regarde ca
J'ai mis a jour l'exemple car en recopiant la formules vers le bas cela a également incrémentée la plage de recherche
En réalitée j'aurais du faire un copier coller de la formule et changer seulement :
=RECHERCHEV(STXT(A1;2;11);Feuil2!A1:D4;1;FAUX)
Le N° de ligne qui s'incrémente (A.)
Le N de collone. (cette etape doit pouvoir etre amélioré pour ne pas avoir a le faire manuellement).
Edit décidement fatigué en fin de semaine je viens de recherger le bon
formules.xlsx
Bien, j'ai mis un peu de temps mais j'ai compris ta demarche et ca me plait beaucoup! Cela marche parfaitement bien sur ton exemple excel.
Je n'arrive cependant pas a faire marcher la fonction RECHERCHEV sur mon excel.. Je dois utiliser VLOOKUP puisque cette version en anglais, mais elle ne fonctionne pas.. Vois tu une erreur?
EDIT : C'est bon, cela fonctionne sur un petit assemblage. Je vais m'amuser un peu avec ca et je reviens vers toi assez vite.
EDIT 2 : Pour la petite evolution de la formule, voici ce que ca donne :
J'ai parfois des parts name a plus de 11 caracteres, je suis oblige de modifier a la main, je vais voir si ce n'est pas automatisable
Beau travail Franck, merci pour ton aide.
Question Bonus :
Est il possible d'effectuer la meme procedure mais pour la masse ?