Comment corriger l’erreur requise de l’objet VBA ?
Lorsque VBA n’est pas en mesure de reconnaître l’objet pour lequel vous faites référence à la propriété ou à une méthode, il affiche l’erreur Objet requis. En termes simples, si vous faites référence à un objet, mais que le nom de cet objet n’est pas correct (cet objet n’est pas dans la hiérarchie d’objets de VBA), il affiche l’erreur 424, comme suit.
Dans le code ci-dessus, comme vous pouvez le voir, j’ai mal orthographié l’objet de cellule active, et lorsque VBA exécute cette ligne de code, cet objet ne peut pas être utilisé car il n’y a pas d’objet avec ce nom (comme je l’ai mal orthographié).
Remarque : Si vous avez utilisé l’instruction Option Explicit dans le module, vous obtiendrez une erreur différente (voir l’image ci-dessous).
Utilisation du mot-clé « Set » pour une variable non objet
Lorsque vous utilisez une variable pour lui affecter un objet, vous devez utiliser le mot-clé « Set ». Dans l’exemple suivant, vous avez un myWKS pour la feuille de calcul et iVal pour la valeur de la cellule A1.
Comme vous pouvez le voir, dans le code ci-dessus, vous avez des variables dont l’une est déclarée en tant qu’objet de feuille de calcul et la seconde en tant que chaîne. Mais au moment d’attribuer la valeur, nous avons utilisé le mot-clé « Set » à la variable « iVal » qui n’est pas déclarée comme un objet mais comme une chaîne.
Comment réparer l’objet requis (erreur 424) dans VBA
- Allez dans le menu Debug de votre éditeur Visual Basic.
- Utilisez l’étape pour exécuter l’intégralité du code étape par étape.
- Au moment où vous atteignez la ligne où vous avez une erreur, VBA vous montrera une erreur.
- Corrigez cette ligne de code.
L’autre façon pourrait être de parcourir le code ligne par ligne en le lisant pour vous assurer que vous vous référez aux bons objets et en utilisant le nom correct des variables et des objets.
Vous pouvez également utiliser l’instruction GOTO pour dépasser une erreur ou afficher un message aux utilisateurs une fois qu’une erreur s’est produite.