Insérer MsgBox si valeur recherchée n'est pas écrite correctemen

Résolu
nicolo9 Messages postés 16 Statut Membre -  
nicolo9 Messages postés 16 Statut Membre -
Bonjour,

J'ai une question sur la fonction Find, fonction qui m'est très pratique dans le cadre où je fais des inscriptions et la fonction Find me sert à retrouver rapidement un nom.

Cependant, lorsque l'on ne tape pas la valeur exacte qui se trouve dans la colonne à rechercher, il met le message d'erreur suivant :
Erreur d'éxécution '91' : Variable objet ou variable de bloc With non définie.

Comment permettre à la recherche d'afficher par exemple un MsgBox si le mot recherché ne se trouve pas dans la colonne (ou alors qu'il y a une syntaxe différente).
Pour le MsgBox, par exemple on pourrait avoir :
MsgBox = "La valeur recherchée ne se situe pas dans le tableau"


Mon code est le suivant :
Set MyRange = Range("MaValeurCherchée")
'Nom de ma case de recherche
Set x = Sheets(1).Range("A:A").Find(MyRange.Value, , xlValues, xlWhole, , , False)
'Recherche dans la colonne A:A
If Not x Is Nothing Then Range(x.Address).Select
'Place le curseur sur la valeur retrouvée


Ce code est bon mais si j'ai le malheur de taper par exemple : "Chloe" ou "Cloé" au lieu de "Chloé", le message d'erreur précédent s'affiche.

Merci de votre aide.
A voir également:

1 réponse

via55 Messages postés 14730 Statut Membre 2 749
 
Bonjour nicolo

Tu peux avant la ligne FInd rajouter cette ligne de test NB.SI qui si le résulat est 0 renvoie le message d'erreur et sort de la Sub
If Application.WorksheetFunction.CountIf(Sheet(1).Range("A:A"), Range("MaValeurCherchée").value) = 0 Then MsgBox "La valeur recherchée ne se situe pas dans le tableau" :Exit Sub


Cdlmnt
Via

"L'imagination est plus importante que le savoir."    A. Einstein
0
nicolo9 Messages postés 16 Statut Membre
 
Merci. Cela fonctionne !
Cordialement.
0