Lier famille de pièce et propriétés personnalisées de MEP

Bonjour,

tout est dis dans le titre!

Pour résumer, il s'agit de sélectionner une configuration à partir du volet des P.P. de MEP.

Je voudrais que l'on ait juste à renseigner la référence souhaitée dans le volet des P.P., que celle-ci soit reprise dans la famille de pièce, et qu'avec la fonction rechercheV les dimensions de la configuration soit renseignée automatiquement.

Et c'est ce lien entre les P.P. de MEP et la famille de pièce qui me fait bloquer.

Je joins un dossier pour exemple avec la famille de pièce, la pièce et un fichier de propriétés personnalisées.

Merci d'avance.

Cordialement,

Alex


nouveau_dossier_compresse.zip
1 « J'aime »

Bonjour,

Donc si je résume, vous voulez qu'à partir de la mise en plan:

  • Récupérer la valeur de la propriété personalisée
  • Aller dans le classeur de la famille de pièces
  • Chercher la cellule dont la valeur correspond à la propriété personalisée
  • Mettre à jour la configuration de référence dans la MEP

C'est bien celà?

2 « J'aime »

Bonjour,

alors l'idée c'est que depuis une mise en plan, il faut:

1- Utiliser le volet des propriétés personnalisées de MEP pour sélectionner un code --> liste de code (feuille excel - voir fichier p.p.) ou un champ libre.

2- Ce code s'inscrit ensuite automatiquement dans une cellule de la famille de pièce (c'est là que je coince).

3- Les valeurs de la configuration par défaut dans la famille de pièce sont renseignées automatiquement grâce à la formule RechercheV (voir fichier excel).

4- Toutes ces actions  doivent se réaliser et se mettre à jour automatiquement.

Voila, pas facile et pas sûr qu'il y'est une solution!

merci d'avance

1- Utiliser le volet des propriétés personnalisées de MEP pour sélectionner un code --> liste de code (feuille excel - voir fichier p.p.) ou un champ libre.

On ne peux pas créer une liste de choix dans les propriétés personalisées, ce qui oblige l'utilisateur à connaitre à l'avance le code de la configuration qu'il veut.

2- Ce code s'inscrit ensuite automatiquement dans une cellule de la famille de pièce (c'est là que je coince).

Ca, c'est pas compliqué, il faut utiliser l'interopérabilité avec excel.

3- Les valeurs de la configuration par défaut dans la famille de pièce sont renseignées automatiquement grâce à la formule RechercheV (voir fichier excel).​

Si vous avez déjà rentré les données dans excel pourquoi ne pas directement passer par les noms de configuration?

4- Toutes ces actions  doivent se réaliser et se mettre à jour automatiquement.

Ca, pas de soucis non plus, c'est le but d'une macro :)

1 « J'aime »

Super c'est génial si c'est realisable!

Vous pourriez détailler  le concept de l'intéropérabilité svp?

En fait il est possible d'inclure une liste dans le volet des propriétés personnalisées et de référer celle-ci à une colonne d'un fichier Excel.

Il faut refaire les liens entre les fichiers dans le dossier que j'ai joint, et renseigner le chemin de la liste avec l'éditeur de propriétés pesonnalisées. Je ferrais une petite vidéo demain pour expliquer tout ça.

L'objectif est de fusionner la famille de pièces avec un fichier excel déjà existant, assé lourd et complété par tout l'monde, donc de ne pas rajouter plusieurs centaines de lignes de configuration pour alourdir le fichier si c'est possible.

Merci pour votre soutien.

Bonne soirée

Bonsoir,

Vous trouverez en pièces jointes un début de réponse.

Il y a deux fonctions qui peuvent être utiles pour tous :

  • Récupérer la valeur d'une propriété privée par son nom
  • Récupérer le chemin d'accès à un classeur excel lié

Je continuerais un peu ce soir :)


liaison_pp_famille_de_pieces.swp
1 « J'aime »

Génial, je regarderais tout ça demain sur mon poste. Merci

1 « J'aime »

Je viens de m'apercevoir que la pièce plante à l'ouverture, je remet le fichier disponible.


nouveau_dossier_compresse.zip
1 « J'aime »

Bonjour,

j'ai complété le code et ça fonctionne.

il me reste a résoudre un problème d'instance excel qui ne se ferme pas.

le code est un peu lourd, j'essayerai d'arranger un peu ça.

je posterai la macro certainement ce soir.

2 « J'aime »

Bonjour industrialcadservices,

j'ai essayé la macro que vous m'avez posté, et apparemment il y'a un problème de références ou de version...

Je joint une petite vidéo pour illustrer le concept à partir d'exemples.

 

Merci.


2017-02-24_at_09-42-43.mp4

Bonjour, c'est juste que l'on a pas la même version de excel.

Ajoutez la référence à la version d'office et d'excel que vous avez, validée et recompilez.

Cordialement.

2 « J'aime »

Désolé pour ce retour un peu tardif, je n'ai pas pus réessayer avant.

Donc, j'ai changer les références des versions d'office et le nom de la propriété personnalisée dans la macro.

J'ai ensuite sélectionné un code dans ma liste de p.p., lancé la macro et la famille de pièce s'ouvre, mais le code renseigné ne change pas.

Par contre il n'y a aucun message d'erreur lors de l'éxécution de la macro.

 

C'est normal, il manque le traitement dans le fichier excel :)

J'ai posté la macro pour que vous ayez une base pour faire votre macro :)

en exécutant la macro, vous obtenez le chemin d'accès au classeur excel pilotant le modèle de référence de la MEP.

comme je l'ai dit dans un post précédent, j'ai écrit le code du traitement du fichier excel mais il me reste à corriger quelques erreurs.

1 « J'aime »

Bonsoir,

Vous trouverez en pièces jointes la macro mise à jour et fonctionnelle (dumoins chez moi :))

Il vous faudra juste dans la macro, si vous n'avez pas nomé votre propriété privée comme moi, changer la valeur de la variable vPropertyName

Cordialement.


macro_mep_config.zip
2 « J'aime »

Bonjour, 

Génial, vous avez été très rapide pour réaliser cette macro, je vous en remercie.

Je l'esseyerai dès que possible et vous tiendrais informé.

Bonne journée, merci.

Bonjour, 

j'ai essayé la macro, et il y'à un petit problème de variable non définie, j'ai peut -être oublié quelque chose?

J'ai changé les références pour office, redéfini le nom de la propriété, mais ça coince. 

Je vous joins des captures du message d'erreur.


api_configurations.docx

Bonsoir,

Il manque le "t" dans la définition de la variable :

Dim swCusPropMgr as CustomPropertyManager

ça devrait être :

Dim swCustPropMgr as CustomPropertyManager

 

1 « J'aime »

Holala j'ai cherché pendant un petit moment. Bon et bien je retente tout ça demain.

Merci, bonne soirée.

1 « J'aime »

Bonjour,

c'est génial ça fonctionne!

C'est vraiment incroyable le travail que vous avez fait.

Merci beaucoup.


2017-02-28_at_09-10-46.mp4
3 « J'aime »

Merci, je suis content d'avoir pu vous aider.

Bonne journée.

3 « J'aime »