Comment résoudre l'erreur d'execution '91'?

Bonjour a tous et a toutes,

 

Etant en Bts Crsa, je dois réaliser une CAO paramétrable d'un convoyeur (projet de stage).

J'utilise habituellement Solid Edge mais l'entreprise dans laquelle je suis se sert de Solidworks, je suis donc un peu perdu.

Le but de ce projet est de pouvoir paramétrer les cotes d'un convoyeur (longueur, largeur etc..) j'ai donc fait une macro sous excel en déclarant solidworks etc.. seulement il n'y a pas grand chose qui fonctionne.. N'étant pas habitué a effectuer ce genre de travail (je suis zéro en vba!) je vous fournit ma macro avec quelques indications afin que vous puissiez m'éclaircir:

 

Sub Bouton_Clic()

 

Set swApp = CreateObject("Sldworks.Application")

Set Part = swApp.ActiveDoc

 

Part.Parameter("D1@Esquisse1@Longueur_convoyeur").SystemValue = Range ("C2").Value / 1000

Part.ClearSelection

Part.ForceRebuild

 

Part.Parameter("D1@Extru.-Mince1@Largeur_convoyeur").SystemValue = Range ("C4").Value / 1000

Part.ClearSelection

Part.ForceRebuild

 

End Sub

 

Le message d'erreur est une erreur d'execution '91' mais je ne vois pas ce qui cloche.

Ce sont les "Part.Parameter..." qui sont surlignés.

"Longueur_convoyeur" et "Largeur_convoyeur" corespondent au nom que j'ai donné sous excel.

 

J'espere avoir bien exposé mon problème.

 

Merci d'avance

Bonjour,

Alors dans SolidWorks il existe la notion de configuration (famille de pièce) pour gérer les différentes versions d'un projet (pièce ou assemblage). Les configurations sont à créer une fois votre géométrie réalisée et les variables devant changer peuvent être pilotées par une feuille de calcul Excel empactée dans votre document SolidWorks. Il peut s'agir des cotes, des propriétés, de l'état de suppression ou non des fonctions etc ... Prenez le temps de consulter l'aide en ligne.

Je pense que de passer par une macro dans Excel est un peu compliqué ! Enfin c'est mon avis.

Cordialement

4 « J'aime »

Erreur d'execution "91" signifie que l'objet n'est pas connecté/renseigné ... il est donc vide

Visiblement les noms des cotes ne correspondent pas ...

mettez votre document en peice jointe que je verifie ...

 

 

 

5 « J'aime »

Merci pour votre réponse jmsavoyat, une derniere petite question:

Je viens donc de faire une création auto ce qui ma rajouter un tableau sous solidworks comme vous me l'ave indiqué mais je voulais savoir si sa ne poserait pas de problèm vue que je travaille directement sur un assemblage (au niveau des contraintes etc.)

 

Cordialement

Bonjour,

 

Il ya plusieurs tutoriels sur les familles de pièces sur SolidWorks, par exemple ces deux-là :

 

http://www.lynkoa.com/store/fr/tutos-formations/tutos/thematiques-avancees-les-familles-de-pieces-dans-solidworks.html

 

http://www.lynkoa.com/store/fr/tutos-formations/formations/famille-de-pieces-solidworks.html

 

Les familles de pièces (même si le nom est trompeur) fonctionne tout à fait dans les assemblages !

Il est possible de traiter les contraintes, les suppressions de certaines pièces, les valeurs distances des contraintes entre les pièces, etc.

1 « J'aime »

A: Jfaradon

Voici le fichier (comme je vous l'ai dit, je débute soyer indulgent si possible!)


3217-1000_convoyeur_sortie_multivac2.xlsx

Problème pour la pièce jointe, je ne peux pas l'enregistrer ni l'ouvrir avec les fichiers comprenant les macros...

Merci mais je pensais plus au document solidworks pour voir si le nom des cotes correpondais avec le programme

le fichier joint 3217-1000_convoyeur_sortie_multivac2.xlsx je ne peux pas l'ouvrir ... excel me dit que le fichier doit etre endommagé ???

le plus simple et de faire un enregistrement de macro et modifier les cotes, dans le code sera ecrit le nom des cotes a modifer

 

5 « J'aime »

un document excel avec une macro doit etre enregistré en xlsm pas en xlsx

5 « J'aime »

Ma macro a changer légèrement:

 

 

Sub Bouton1_Clic()

 

Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc

 

Part.Parameter("D4@Esquisse1@Longueur").SystemValue = Range("D3").Value / 1000
Part.ClearSelection
Part.ForceRebuild

 

Part.Parameter("D1@Extru.-Mince1@Largeur").SystemValue = Range("D5").Value / 1000
Part.ClearSelection
Part.ForceRebuild

 

End Sub

 Et voici le fichier Solidworks, oui je sais pour le fichier, je ne peux que l'enregistrer en xlsx je ne sais pas pourquoi...


3217-1000_convoyeur_sortie_multivac2.sldasm

je suis penible mais dans le monde SW on ne peux rien faire sans les composants... 

le ficher .sldasm (assemblage) ne contient que les liens sur les fichiers composants pieces .sldprt

 

Faites un zip du sldasm plus les pieces .sldprt ...

 

5 « J'aime »

je vous envoie le fichier .zip en début de soirée car je ne vais pas etre disponnible avant.

Desolé pour le format du fichier, merci pour votre aide a tout a l'heure

 

Cordialement

1 « J'aime »

Je ne suis pas sur que ce soit ce que vous vouliez, j'ai juste transformer mon fichier solidworks en .zip....


3217-1000_convoyeur_sortie_multivac2.zip

Quand vous voulez partager un assemblage, faites une composition à emporter (Fichier/Composition à emporter). Vous pourrez enregistrer l'ensemble directement dans un fichier zip.

4 « J'aime »

Bonjour,

 

Que vous travailliez avec SolidEdge ou SolidWorks le principe est le même, les assemblages pointent vers des pièces. Donc si vous envoyez uniquement l'assemblage dans le zip, nous ne pouvons pas l'ouvrir correctement et donc nous ne pouvons pas vous aider.

Donc utilisez la méthode de @Benoit.LF, ouvrez votre assemblage puis utilisez la focntion composition à emporteée dans le  menu Fichier. Vous pourrez alors faire un zip contenant tous les fichiers nécessaire.

 

Par contre je rejoinds ceux qui ne voit pas l'intérêt de faire une macro pour ce que vous souhaitez faire.

Une famille de pièce combiné avec un "configuration publisher" devrait faire l'affaire.

 

@+

 

4 « J'aime »

Quand vous aurez votre assemblage dans sa bonne configuration (pas au sens SW, au sens longueur, options...) vous êtes censés en faire quoi ? Extraire (pas au sens EPDM...) tous les fichiers de pièces plan pour les renommer ou ajouter des configurations aux fichiers existants ?

 

C'est important pour l'orientation à prendre dans votre conception :

_ Configurations des pièces > Solution @coyote, publisher

_ Renommer toutes les pièces : plutôt se faire un modèle de base (GABARIT) que vous réenregistrez par une composition à emporter.

 

 

1 « J'aime »

Bonjour, voici le fichier (désolé pour ma maladresse)

Merci Benoit pour la demarche


3217-1000_convoyeur_sortie_multivac2.zip
1 « J'aime »

Salut @ Alexis

en complement de toutes les info precedentes

 

je t'ai trouver un lien pour l'erreur d'execution 91

http://www.developpez.net/forums/d1185252/logiciels/microsoft-office/excel/macros-vba-excel/erreur-d-execution-91-a/

 

(en souhaitant t'avoir un peu aidé ni connaissant rien en macro)

 

@+ ;-)

 

Merci gt22, mais sa ne fonctionne pas non plus..!