Probleme Macro VBA pour Solidworks

Bonsoir,

 

je suis un grand novice en VBA.

 

Je suis en train d'essayer d'élaborer une macro qui permet l'ouverture d'une boite de dialogue dans laquelle on peut venir modifier la longueur et la hauteur d'un garde-corps.

Bon jusqu'à l'ouverture de la macro cela fonctionne plutôt bien mais dès qu'il s'agit d'aller modifier les valeurs de côtes dans l'esquisse.....gros Hic.

 

Il me renvoi une erreur d'exécution '91'....un classique parait-il..;)

 

Je n'arrive pas à trouver la solution.

 

Je vous joins la pièce ainsi que la macro en pièce jointe.

 

D'avance merci pour votre aide!


garde-corps_test.zip

Salut,

 

comme le dirait certaine personne, demande de l'aide à "Lucas Prieur", il s'y connait trés bien en macro !!

5 « J'aime »

ou @jfaradon, ça marche aussi !

3 « J'aime »

Bonjour,

 

En fait l'evenement "UserForm_activate" n'est jamais appelé ... donc swDoc est tjrs nothing

 

Remplacer "UserForm_activate" par  "UserForm_Initialize"

et cela fonctionnera bien mieux ...

 

7 « J'aime »

Je remets la macro modifiée


garde-corps_test.zip
5 « J'aime »

Je n'ai pas été le plus rapide sur ce coup là !

1 « J'aime »

Bonjour tout le monde,

 

merci beaucoup pour votre aide et en particulier à toi Jfaradon! Ca fonctionne du feu de Dieu si je puis dire.

 

Bon et si je peux abusé........je me demandais si il y avait possibilité que cette boite de dialogue apparaisse automatiquement à l'insertion de ma pièce dans un assemblage?

 

Merci

pour faire ce genre d'automatisme, c'est plus compliqué il faut faire un complement SW qui gere les evenements de l'applicatif. en fait il faut programmer plus qu'une macro il faut passer par un outils de developpement style microsoft visual studio.

 

Il existe un outil myCAD pour cela qui s'appelle CustomToolBar, dans lequel il y a possibilité de declancher une macro par rapport aux evenements (insertion d'un composant par exemple)

Mais plus simple sans cet outil est de créer un raccourci macro dans les barres d'outils.

 

2 « J'aime »