image

Lorsque vous travaillez avec VBA, vous pouvez obtenir cette fenêtre contextuelle d’erreur lorsque vous exécutez la procédure. Cette erreur indique « Nom ambigu détecté: nom de la procédure« . Dans cet article, nous découvrirons pourquoi cette erreur se produit et comment nous pouvons la résoudre.

Pourquoi cette erreur?

Comme le dit la fenêtre contextuelle, le moteur VBA a détecté une ou plusieurs procédures portant le même nom dans le même module. Cela a conduit à la confusion pour le moteur VBA. Par conséquent, le VBA signale l’erreur.

Comment résoudre ce problème?

C’est facile. Ne pas avoir deux procédures identiques avec le même nom dans un seul module. Modifiez le nom de la procédure, supprimez-la ou transférez-la dans un autre module.

Cette erreur apparaît généralement lorsque vous travaillez avec

lien: / events-in-vba-the-events-in-excel-vba [événements dans Excel]. * Disons que vous travaillez sur la feuille 1 avec des événements de feuille de calcul. Vous souhaitez maintenant déclencher un message dès que l’utilisateur modifie la sélection de cellule. Dans ce cas, vous utiliserez le lien: / tips-using-worksheet-change-event-to-run-macro-when-any-change-is made [Worksheet_SelectionChange ()

Événement] `.

Vous souhaitez à nouveau poser des questions aux utilisateurs lorsque l’utilisateur modifie la sélection de cellules. Ensuite, vous devrez utiliser le même événement.

Vous avez maintenant écrit deux procédures de gestion des événements pour différentes tâches.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox "Hi"

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.InputBox ("who are you?")

End Sub

Maintenant, lorsque vous modifiez la sélection sur la feuille, c’est ce que vous obtenez.

image

Maintenant, lorsque vous modifiez la sélection sur la feuille, c’est ce que vous obtenez.

image

Vous voyez, le fait est qu’Excel ne le permet pas. Vous ne pouvez pas avoir deux ou plusieurs mêmes noms de fonctions dans un module. Pas même dans les événements. Cela conduit à l’ambiguïté.

Maintenant, si vous souhaitez effectuer une tâche différente sur le même événement, vous devez placer ce code dans la même procédure événementielle. Utilisez des conditions pour contrôler les événements.

L’événement ci-dessous fonctionnera parfaitement bien. Lorsque l’utilisateur change la sélection de cellule sur la feuille1, il affichera un message salut et après cela, il posera à l’utilisateur une question avec une zone de saisie.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox "Hi"

Application.InputBox ("who are you?")

End Sub

Maintenant que l’ambiguïté a disparu, l’événement fonctionnera parfaitement bien et vous n’obtiendrez plus l’erreur de nom ambiguë détectée.

Alors oui les gars, voici comment résoudre l’erreur d’ambiguïté dans Excel VBA. J’espère que cela a été utile. Si vous avez des doutes concernant cet article ou tout autre article, demandez-moi dans la section commentaires ci-dessous.

Articles liés:

link: / tips-reference-isnt-valid-excel-error-and-how-to-res-it [La référence n’est pas une erreur Excel valide et comment la résoudre?]: Cette erreur se produit lorsque nous faisons référence à un objet ou emplacement qui n’existe pas ou qui a changé. Pour résoudre ce problème, nous recherchons la référence.

lien: / events-in-vba-the-events-in-excel-vba [Les événements dans Excel VBA] | Il existe sept types d’événements dans Excel. Chaque événement a une portée différente. L’événement d’application traite du niveau du classeur. Cahier au niveau de la feuille. Événement de feuille de travail au niveau de la plage.

link: / events-in-vba-the-worksheet-events-in-excel-vba [Les événements de feuille de travail dans Excel VBA] | Les événements de feuille de calcul sont vraiment utiles lorsque vous voulez que vos macros s’exécutent lorsqu’un événement spécifié se produit sur le feuille.

lien: / events-in-vba-workbook-events-using-vba-in-microsoft-excel [Événements de classeur utilisant VBA dans Microsoft Excel] | Les événements du classeur fonctionnent sur l’ensemble du classeur. Étant donné que toutes les feuilles font partie du classeur, ces événements fonctionnent également sur elles.

link: / events-in-vba-prevent-that-an-automacroeventmacro-executes-using-vba-in-microsoft-excel [Empêcher une macro auto / macro d’événement s’exécute en utilisant VBA dans Microsoft Excel] | Pour empêcher l’exécution de la macro auto_open, utilisez la touche Maj.

lien: / events-in-vba-chart-object-events-using-vba-in-microsoft-excel [Chart object events using VBA in Microsoft Excel] | Les graphiques sont des objets complexes et vous y attachez plusieurs composants. Pour créer les événements graphiques, nous utilisons le module Classe.

Articles populaires:

lien: / clavier-formule-raccourcis-50-excel-raccourcis-pour-augmenter-votre-productivité [50 raccourcis Excel pour augmenter votre productivité] | Accélérez votre tâche. Ces 50 raccourcis rendront votre travail encore plus rapide sur Excel.

lien: / formules-et-fonctions-introduction-de-vlookup-function [La fonction RECHERCHEV dans Excel] | C’est l’une des fonctions les plus utilisées et les plus populaires d’Excel qui est utilisée pour rechercher des valeurs à partir de différentes plages et feuilles.

lien: / tips-countif-in-microsoft-excel [COUNTIF dans Excel 2016] | Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter une valeur spécifique.

La fonction Countif est indispensable pour préparer votre tableau de bord.

lien: / excel-formule-et-fonction-excel-sumif-function [Comment utiliser la fonction SUMIF dans Excel] | C’est une autre fonction essentielle du tableau de bord. Cela vous aide à résumer les valeurs sur des conditions spécifiques.