Erreur de compilation VBA

Ce didacticiel expliquera ce que signifie une erreur de compilation VBA et comment elle se produit.

Avant d'exécuter votre code, l'éditeur VBA compile le code. Cela signifie essentiellement que VBA examine votre code pour s'assurer que toutes les conditions sont réunies pour l'exécuter correctement - il vérifiera que toutes les variables sont déclarées (si vous utilisez Option Explicit, ce que vous devriez!), vérifiez que toutes les procédures sont déclarées , vérifiez les boucles et les instructions if, etc. En compilant le code, VBA aide à minimiser les erreurs d'exécution qui se produisent.

(Consultez notre Guide de gestion des erreurs pour plus d'informations sur les erreurs VBA)

Variables non déclarées

Si vous ne déclarez pas de variables, mais que votre Option Explicit est activée en haut de votre module, puis que vous exécutez la macro, une erreur de compilation se produira.

Si vous cliquez sur OK, la procédure concernée passera en mode débogage.

Alternativement, avant d'exécuter votre code, vous pouvez forcer une compilation du code.

Dans le Menu, sélectionnez Déboguer > Compiler le projet.

Le compilateur trouvera toutes les erreurs de compilation et mettra en évidence la première qu'il trouvera en conséquence.

Procédures non déclarées

Si votre code fait référence à une procédure qui n'existe pas, vous obtiendrez également une erreur de compilation.

Par exemple:

1234 Procédure d'appel secondaire()'un peu de code ici alorsAppelez la procédure suivanteFin du sous-marin

Cependant, si la procédure - Procédure suivante n'existe pas, une erreur de compilation se produira.

Codage incorrect - Fin attendue de la déclaration

Si vous créez une boucle en utilisant Pour… Chacun… Suivant ou Avec… Finir avec et oublier et le Prochain ou la Terminer par… vous obtiendrez également une erreur de compilation.

123456 Erreur de sous-compilation()Dim wb comme classeurDim ws As Feuille de calculPour chaque ws dans wbMsgBox ws.NameFin du sous-marin

La même chose se produira avec une instruction If si End If est omis !

Références manquantes

Si vous utilisez une bibliothèque d'objets qui ne fait pas partie d'Excel, mais que vous utilisez les objets de la bibliothèque dans votre déclaration de variable, vous recevrez également une erreur de compilation.

Cela peut être résolu soit par la liaison tardive - en déclarant que les variables sont des objets; ou en ajoutant les Bibliothèque d'objets au Projet.

Dans le Menu, sélectionnez Outils > Références et ajoutez la bibliothèque d'objets appropriée à votre projet.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave