-
Gestion des erreurs VBA
Bonjour à tous,
J'aurais voulu savoir comment gérer le fait qu'une erreur soit possible dans un programme VBA et passer outre.
Je m'explique avec un exemple.
Je code un programme permettant une RechercheV (Vlookup). Imaginons que le tableau de recherche soit assez grand et que les noms se ressemblent trop pour utiliser le paramètre "True" dans cette fonction.
Pour mon exemple, l'utilisateur va écrire le nom qu'il recherche dans une cellule mais se trompe dans l'écriture.
Comment faire pour ne pas que VBA affiche un message d'erreur au niveau du code, comme quoi la rechercheV est impossible dans le range sélectionné. Car Vba ne retrouve le nom correspondant dans le tableau et ne peut donner l'information correspondante.
Mais qu'une Msgbox apparaissent avec texte expliquant qu'il y a une erreur d'orthographe ou de synthaxe par exemple.
Voir même de proposer une MsbBox (je n'utilise peut-etre pas le bon terme), avec une liste déroulante des noms existant, afin de faire une recherche manuelle?
Merci
-
Une piste
Code:
If IsError(Evaluate("=VLOOKUP(D10,$A$10:$B$11,2,FALSE)")) Then MsgBox "Erreur"
-
Merci, je vais explorer cette piste tout de suite !
EDIT :
Alors je comprend le principe mais mon problème est pour le placer convenablementdans le code. L'erreur s'affiche quand le programme arrive sur la ligne de Vlookup et donc je ne voit pas comment mettre la ligne "If" pour qu'elle soit lu alors que l'erreur bloque le code.
peut etre dois je mettre un code pour envler la MsbBox de VBA pour m'indiquer l'erreur ?