Macro Solidworks 2021 vs 2022

Bonjour,

Je viens de migrer de Solidworks 2021 à Solidworks 2022.

Depuis mes macro ne fonctionnent plus.
Il faut que je modifie plein de truc pour que ça fonctionne.

Comme par exemple devoir déclarer le « i » en integer pour faire des boucles For i = …

Bon à la limite je finirai bien par modifier mon code pas de problème.

Par contre certaines fonctionnes standards ne fonctionnent plus.
Par exemple la fonction Mid() n’est plus reconnue.

Autre point plus critique pour moi, il ne reconnait plus les variables d’environnements Windows → Environ(« username ») très utile pour avoir l’identifiant de session afin de pointer dans le bon répertoire sous c:\utilisateur.

Avez-vous une idée de comment résoudre mon problème ?

Dans les références, j’en ai une qui est manquante « CATIA Composer 1.0 Type Library » et impossible de la trouver.

Merci d’avance

Yann

Bonjour et bienvenue;

La migration vers une nouvelle version peut parfois poser quelques problèmes mais ceux que vous annoncez ne me semblent par en être la résultante:

Si vous devez déclarer obligatoirement des variables (ce qui est conseillé et encouragé) regardé plutôt sur vous n’avez pas la notion « Option Explicit » qui traine dans vos codes.

La référence CATIA elle ne faut pas partie de l’installation de Solidworks mais uniquement de celle de CATIA.(donc si CATIA n’est pas installé…)

=> Vérifier les composants installés:
https://help.solidworks.com/2022/french/Installation/install_guide/c_prep_clients_admin_images.htm?verRedirect=1

=> Réinstaller ou réparer l’installation de Visual Basic for Applications et des redistribuables Visual C++ si besoin.

=> La première chose que je ferais et de référencer à nouveau vous bibliothèques vers Solidworks 2022.

2 « J'aime »

C’est bizarre pour la référence Catia car je n’ai jamais eu CATIA d’installé.
Je pensais que c’était un reste de Solidworks 2021 car les 2 sont des logiciels Dasault

J’ai trouvé le problème.
La macro issue de SolidWorks 2021 comportait bien toute les références.
Cependant la référence « Visual Basic for application » était restée en version 2021 et n’était pas 100% compatible avec la version 2022.

Il m’a fallut refaire une macro en copiant/collant le code et en réimportant les userform.
Et là tout fonctionne :wink:

1 « J'aime »

@Yann_Georges, merci de passer le sujet en résolu.