Comment utiliser l’instruction explicite d’option dans VBA ?
Points clés
- L’option Explicit vous oblige à déclarer toutes les variables .
- C’est une déclaration que vous pouvez utiliser au début d’un module .
- Vous pouvez le saisir manuellement ou l’activer à partir des options.
- Vous devez utiliser Option Explicit une seule fois.
- Il vous aide également à identifier les erreurs de frappe lors de l’utilisation de variables.
Qu’est-ce que l’option VBA explicite
Option Explicit est une instruction que vous pouvez utiliser au début d’un module pour vous forcer à déclarer toutes les variables. Lorsque vous ajoutez cette instruction, VBA vous montre une erreur de compilation lorsque vous exécutez le code et met également en surbrillance la variable dans le code que vous devez déclarer.
Lorsque vous ajoutez une option explicite au début d’un module, VBA ajoute une ligne de séparation en dessous, puis vous pouvez commencer à écrire une procédure. Et lorsque vous avez l’option déclaration explicite et que vous exécutez une procédure, VBA vérifie s’il existe une variable non déclarée et vous affiche un message d’erreur.
Option Explicit
Sub myMacro()
a = 50
MsgBox a
End Sub
Ci-dessus se trouve le message que vous obtenez lorsqu’une variable n’est pas déclarée.
Activer l’option explicite dans VBA
Pour activer l’instruction explicite d’option dans un module, procédez comme suit.
- Tout d’abord, ouvrez Visual Basic Editor et dans le menu Outils, cliquez sur les options.
- Après cela, dans les options, accédez à l’onglet de l’éditeur et cochez la case « Exiger une déclaration de variable ».
- À la fin, cliquez sur OK.
- Une fois que vous faites cela, VBA ajoutera une option explicite chaque fois que vous ajouterez un nouveau module.
Mais il n’ajoute pas cette déclaration à votre module existant, vous devez donc les ajouter manuellement à chacun des modules existants un par un.
Comment l’ajouter manuellement ?
Comme je l’ai mentionné, l’instruction Option Explicit doit passer avant la première procédure du module (Sub ou Function). Vous devez donc ajouter cette déclaration au-dessus de la première procédure (zone des déclarations générales) et vous assurer de ne l’ajouter qu’une seule fois.
Si vous l’ajoutez dans une procédure ou entre deux procédures, VBA vous affichera une erreur lorsque vous tenterez d’exécuter l’un des codes du module.
Exemples (Pourquoi utiliser Option Explicit Statement est une bonne habitude)
Permettez-moi de vous montrer un exemple pour vous faire comprendre pourquoi l’instruction Option Explicit est fortement recommandée. Regardez le code suivant.
Sub myMacro()
Dim myText As String
myText = "Puneet"
MsgBox MyTxt
End Sub
Dans ce code, j’ai déclaré une variable « myText » en tant que chaîne, puis défini la valeur de cette variable. Et à la fin, j’ai utilisé une boîte de message qui affiche la valeur de la variable, mais si vous regardez attentivement, j’ai mal orthographié cette variable comme « MyTxt » au lieu de « myText ».
Maintenant, lorsque j’exécute ce code , il m’affiche une boîte de message vide.
J’ai besoin de vos 2 minutes pour vous aider à comprendre le vrai problème ici. Lorsque j’ai mal tapé le nom de la variable, VBA le prend comme une variable distincte, et comme je n’utilise pas l’instruction explicite d’option, cela ne me montre pas d’erreur.
C’est pourquoi la boîte de message utilise la deuxième variable (mal typée) qui n’a pas de valeur qui lui est assignée. Réfléchissez maintenant une seconde; si vous écrivez un code long et que vous n’utilisez pas d’instructions explicites d’option, il vous sera difficile de retracer cette erreur jusqu’à ce que vous ayez relu tout le code.
Mais avec l’option déclaration explicite ON, lorsque j’exécute ce code, une erreur s’affiche.
Option Explicit
Sub myMacro()
Dim myText As String
myText = "Puneet"
MsgBox MyTxt
End Sub