Je voulais savoir si il était possible de copier/coller une partie de la nomenclature issu d’un plan pour la coller dans un fichier Excel ? (sans passer par un" enregistrer sous" de la nomenclature et créer un fichier Excel)
Avez-vous un astuce ou c’est pas possible ?
Les rois de la macro te diront que tout est possible (macro qui enregistre en format d’export Excel puis recopie le tableau pour te permettre de l’avoir dans ta pile de copier/coller Windows, puis suppression du fichier que l’on vient de créer).
Sinon il ne semble pas y avoir de solution de copie directe (en 2020 en tout cas).
Après tu as la solution ‹ relou › historique : tu vires ta nomenclature SW, tu remets une vieille nomenclature au format Excel qui est éditable par clic droit dans Excel → possible de la recopier
Car je dois extraire une dizaine de nomenclature pour les rejoindre dans un même fichier excel… du coup cela serait beaucoup plus pratique de faire un copier/coller
Extraire par macro (@Cyril_f ) et compilé par cette même macro c’est possible il me semble.
Cela équivaut à un enregistré-sous + compilation de fichier.
Ci-dessous une macro rudimentaire qui copie la zone sélectionnée de la nomenclature dans le presse-papiers de Windows (merci l’IA…).
Pas de sélections multiples possibles.
Bonjour,
Sans l’IA, j’ai un code déjà existant pour extraire les données d’une ligne de nomenclature (il me semble avoir déjà fourni pour une autre demande du même type sur ce forum).
On peut aussi manipuler Excel directement depuis la macro lancée dans SW et copier/coller directement sans attendre d’intervention de l’utilisateur.
Salut,
Je prends le contre pied, mais on peut envisager de faire un assemblage de toute les pièces, même sans positionnement, et de faire une nomenclature.
On peut lier des données entre des fichiers Excel pour qu’elles se mettent à jour automatiquement.
Excel vous demander d’activer la mise à jour des liaisons, ou dès les mettre à jour manuellement.
Il faut que la macro crée des fichiers pour chaque nomenclature et ensuite dans un fichier de compilation vous mettez à jour à chaque mise à jour.
Je pense qu’Il faut créer une valeur dans la nomenclature SolidWorks qui peut ensuite être filtré ultérieurement, soit via la macro soit via Excel, une date par exemple.
Est-ce possible
Dans ce cas tu créé un ASM temporaire avec tes 10 ensembles. même pas besoin de créer un plans, tu peux en extraire la nomenclature complète depuis l’ASM.
Après re test de ta macro, le copier coller se fait mal pour les cellules contenant des saut de paragrpahe : lors du coller sous Excel il découpe les données dans plusieurs cellules au lieu de faire une cellule avec du texte contenant des saut de paragraphe.
Un pro du VBA devrait facilement pouvoir corriger ce détail
Voici un code ‹ fonctionnel › qui ‹ résoud › le problème des renvois à la ligne/saut de paragraphe (en mode bourrin après édition du code par M365 Copilot : j’ai remplacé tous les caractères ressemblant de près ou de loin à un saut de paragraphe/ligne et l’ai remplacé par un espace.
→ Le texte s’importe bien dans une seule cellule
Si quelqu’un arrive à faire plus propre (et arrive à mettre des renvois à la ligne à l’intérieur du texte de la cellule excel) il n’a qu’a reposter.
NB : pas sûr que ce soit faisable vu que la macro passe par une chaine de caractère séparé par des tab (qui décalent les cellules lors du copier dans Excel) et des CRLF (qui font le renvoi à la ligne d’après).
Il faudrait sûrement réécrire totalement la macro pour avoir quelque chose de réellement fonctionnel (que la macro créé un fichier Excel temporaire, quelle colle le texte dans les cellules et quelle mette l’ensemble des cellules remplies dans le presse papier).