Mike utilise régulièrement RECHERCHEV dans ses feuilles de calcul, mais se demande s’il existe un moyen de faire exécuter une macro à la fonction si elle ne renvoie pas de valeur.

Vous pouvez aborder ce problème de plusieurs manières. Tout d’abord, vous pouvez utiliser une formule conditionnelle pour déterminer si RECHERCHEV renvoie une valeur ou une erreur. Si cela renvoie une erreur, vous pouvez demander à la formule d’exécuter une fonction définie par l’utilisateur (MyUDF), comme indiqué ici:

=IF(ISERROR(VLOOKUP(B2,CODES,1,FALSE)),MyUDF(), VLOOKUP(B2,CODES,1,FALSE))

Tout ce que vous avez à faire est de vous assurer de mettre votre code VLOOKUP réel dans la formule (deux fois) et de remplacer MyUDF par le nom de la fonction définie par l’utilisateur que vous souhaitez déclencher.

Une autre approche consiste à configurer un gestionnaire d’événements pour l’événement Calculate.

Cela peut être assez simple, comme dans ce qui suit:

Private Sub Worksheet_Calculate()

If IsError(Range("A1")) Then Call Macro1 End Sub

Cet exemple suppose que la formule RECHERCHEV se trouve dans la cellule A1 et que vous souhaitez exécuter une macro appelée Macro1 si la RECHERCHEV renvoie une erreur. Votre macro pourrait alors faire tout ce dont vous avez besoin. N’oubliez pas également que le gestionnaire d’événements Calculate doit être placé dans l’objet ThisWorksheet.

Vous pouvez également rendre le gestionnaire d’événements Calculate un peu plus robuste, comme indiqué ici:

Private Sub Worksheet_Calculate()

On Error GoTo myMac     Worksheets(1).Select     If Range("A1").Value Then         Exit Sub     End If myMac:

Macro1   'macro to run if VLOOKUP fails End Sub

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (10107) s’applique à Microsoft Excel 2007 et 2010. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Making_VLOOKUP_Trigger_a_Macro [Faire de VLOOKUP déclencher une macro].