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

7

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’exé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.

nicolo9 Posté le 7 décembre 2015, 14:35
par nicolo9
Répondre
8

As-tu essayé quelque chose comme ça ? :

If Not x Is Nothing Then
    Range(x.Address).Select
Else
    MsgBox = "La valeur recherchée ne se situe pas dans le tableau"
End If
Vince Posté le 7 décembre 2015, 15:11
par Vince

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :