Comment corriger l’erreur d’exécution 1004 de VBA ?
L’erreur d’exécution VBA 1004 se produit lors de l’exécution d’une macro dans Excel. C’est une erreur qui peut survenir pour plusieurs raisons. Dans l’exemple ci-dessous, comme vous pouvez le voir, lorsque j’exécute le code, il affiche l’erreur d’exécution ‘1004’. En termes simples, vous pouvez également dire que cela se produit lorsque vous ne pouvez pas effectuer une activité avec l’objet ou l’application.
Dans ce tutoriel, nous comprendrons plusieurs autres raisons de cette erreur d’exécution 1004.
Erreur1 : Erreur d’exécution VBA 1004 : Ce nom est déjà pris. Essayez-en un autre :
Comme je l’ai partagé ci-dessus, lorsque vous essayez d’ajouter une feuille avec le nom qui est déjà là dans le classeur à l’aide d’un code VBA, VBA vous montre une erreur d’exécution avec le code 1004.
Même lorsque vous essayez de renommer une feuille de calcul , vous obtenez la même erreur de VBA.
Dans le code ci-dessus, j’ai essayé de renommer la feuille « Sheet2 » avec le nom « Sheet1 », mais comme vous pouvez le voir, j’ai déjà le « Sheet1 » dans le classeur; VBA m’a montré le code d’erreur 1004.
Pour traiter ce problème, il faut vérifier si une feuille existe déjà dans le classeur ou non.
Erreur 2 : Erreur d’exécution VBA 1004 : La méthode « Plage » de l’objet ‘_ Global’ a échoué :
Comme vous le savez, vous pouvez créer une plage nommée dans Excel, mais lorsque vous essayez de vous référer à cette plage nommée à l’aide d’un code VBA et que vous avez mal orthographié son nom, vous risquez d’obtenir l’erreur d’exécution 1004 Méthode « Plage » de objet’ _ Global’ a échoué.
Dans l’exemple suivant, j’ai une plage nommée avec le nom « myRange », mais lors de l’écriture de la macro, je l’ai mal orthographiée comme « myRang » même s’il s’agit d’une erreur de frappe ; VBA n’est pas si intelligent pour identifier cette erreur et se référer à la plage nommée correcte.
Il n’y a pas de plage nommée avec le nom que j’ai mentionné, et c’est pourquoi il m’a montré l’erreur d’exécution 1004.
Erreur 3 : Erreur d’exécution VBA 1004 : Échec de la sélection de la classe Méthode de plage :
Lorsque vous utilisez un code VBA pour sélectionner une plage qui ne se trouve pas dans la feuille de calcul active, VBA vous affiche l’erreur d’exécution 1004. Parce que, si vous souhaitez sélectionner une cellule ou une plage de cellules pour une feuille de calcul particulière, elle doit être active à ce moment.
Vous ne pouvez pas sélectionner une cellule de feuille1 si feuille2 est active en ce moment.
Comme vous pouvez le voir dans l’exemple suivant, j’ai fait la même erreur en faisant référence à la cellule A1 de la première feuille, mais la feuille 2 est active.
La meilleure façon de gérer cette erreur est d’activer d’abord la feuille, puis d’écrire une ligne de code qui sélectionne une cellule ou la plage de cette feuille. Vous pouvez également vérifier si une feuille est active ou non, puis sélectionner la cellule de cette feuille, et si d’une manière ou d’une autre cette feuille n’est pas active, vous pouvez afficher un message à l’utilisateur pour activer cette feuille en premier.
Erreur4 : Erreur d’exécution VBA 1004 Échec de l’activation de la classe de plage de méthodes :
Tout comme la raison ci-dessus, lorsque vous essayez d’activer une cellule ou une plage de cellules à partir d’une feuille de calcul spécifique qui n’est pas active pour le moment, nous vous montrerons l’erreur d’exécution 1004 (Échec de l’activation de la classe de plage de méthodes :).
Dans l’exemple à propos de lorsque j’ai essayé d’activer la cellule A1 dans la feuille1, cela m’a donné l’erreur d’exécution 1004, la feuille active était la feuille2.
Pour traiter à nouveau cette erreur, vous devez vérifier que la feuille de calcul à laquelle vous faites référence est active ou non. Ou vous pouvez également vérifier si cette feuille est présente dans le classeur ou non.
Error5 : Méthode VBA Runtime Error 1004 Désolé, nous n’avons pas pu trouver :
Si vous essayez d’ouvrir un fichier Excel à l’aide d’un chemin, mais que ce classeur ne s’y trouve pas, il a peut-être été déplacé, supprimé ou renommé. Dans ce cas, VBA vous montrera à nouveau une erreur d’exécution de 1004.
C’est ce qui s’est passé dans l’exemple suivant où j’ai essayé d’ouvrir le fichier avec le chemin de mon bureau, mais ce fichier n’est pas là, et il m’a montré une erreur.
Pour faire face à la situation, vous pouvez utiliser un code VBA pour vérifier si le fichier auquel vous faites référence est présent dans le dossier ou non.
Erreur 6 : échec de l’ouverture de la méthode VBA Runtime Error 1004 des classeurs d’objets :
Cette erreur est également liée au classeur. Ainsi, lorsque vous essayez d’ouvrir un classeur avec le nom pour lequel un livre existe déjà et est ouvert pour le moment, VBA vous montrera l’erreur d’exécution 1004 (échec de la méthode d’ouverture des classeurs d’objets).
La même chose s’est produite dans l’exemple ci-dessus, où j’ai essayé d’ouvrir un classeur qui est déjà ouvert, et VBA m’a montré une erreur d’exécution (1004).
Comment corriger le temps d’exécution de VBA (Erreur 1004)
L’erreur 1004 est une erreur d’exécution qui se produit lors de l’exécution d’un code VBA. Et toutes les erreurs dont nous avons discuté ci-dessus sont dues à des erreurs humaines lors de l’écriture du code, en suivant les points que vous pouvez utiliser pour éviter l’erreur d’exécution 1004.
- Effectuez une exécution de code étape par étape pour voir sur quelle ligne l’erreur se produit.
- Assurez-vous de vérifier tous les noms des classeurs auxquels vous faites référence.
- Vous pouvez également utiliser un code VBA pour vérifier si un classeur est déjà ouvert ou non.
- Et utilisez la méthode activate pour activer une feuille de calcul avant de vous référer à une cellule ou à une plage à partir de celle-ci.