Microsoft Visual Basic : erreur d'exécution '91'.

Article par Samony Riyaz mis à jour le 5 octobre 2019

Article

Vous avez déjà rencontré l'erreur Microsoft Visual Basic "Run-time Error '91' : Object variable or With block variable not set" lors de l'ouverture d'un fichier SOLIDWORKS ? Ou si vous créez une nouvelle macro SOLIDWORKS et qu'en l'exécutant, vous voyez apparaître ce message ?

Erreur d'exécution de Microsoft VB '91'.

Erreur d'exécution de Microsoft VB '91'.

Heureusement pour vous, il s'agit d'une erreur VB très courante et il n'est pas très difficile de déterminer où se situe le problème.

Voyons les étapes à suivre pour résoudre cette erreur VB.

  1. Assurez-vous que vous avez accès au fichier macro qui est exécuté dans SOLIDWORKS.
  2. Lancez le fichier .swp en mode édition. Cela peut se faire via Outils > Macro > Édition > Rechercher l'emplacement de la macro OU via votre barre d'outils macro > Édition > Rechercher l'emplacement de la macro.
  3. Vous verrez apparaître une fenêtre VBA Editor, comme dans la capture d'écran ci-dessous :

    Exemple de code de macro

    Exemple de code de macro

  4. Pour identifier où se situe l'erreur, vous devez ÉTAPE à travers le code. Cela peut être fait en plaçant BREAKPOINTS dans le code en sélectionnant la section grise à côté de la ligne, comme indiqué ci-dessous.

    Ajouter un point d'arrêt au code

    Ajouter un point d'arrêt au code

  5. Maintenant, appuyez sur la touche "F8" de votre clavier pour... ÉTAPE à travers le code jusqu'à ce qu'une ligne échoue et vous donne l'erreur d'exécution.
    • Notez le numéro de la ligne à l'origine de cette erreur.
  6. La ligne doit commencer par une déclaration "Set OBJECT = ___________".
    • Cela indique qu'une variable a été utilisée sans être déclarée.
  7. Pour résoudre ce problème, déclarez la variable OBJECT au-dessus de la ligne Set en utilisant la commande "Dim OBJECT As SldWorks.OBJECT".
    • Exemple : la déclaration qui provoque l'erreur pourrait être "Set Part = swApp.NewDocument....".
    • La déclaration correcte pour cela serait "Dim Part As SldWorks.ModelDoc2".

Pour vous assurer que vous disposez du bon type d'objet, consultez l'aide Web de l'API SOLIDWORKS pour obtenir des informations détaillées sur les différentes commandes et énumérations disponibles.

En savoir plus sur les macros/API de SOLIDWORKS

Javelin propose des cours de formation SOLIDWORKS VB for Applications et SOLIDWORKS API, que vous pouvez suivre en ligne ou dans l'une de nos salles de classe canadiennes. Consultez notre calendrier pour en savoir plus.

Trouver du contenu connexe par TAG :

Samony Riyaz