Recherche de chaine de caracteres dans colonne, probleme lors de non résultat (VBA)

Dam178

XLDnaute Nouveau
Bonjour tout le monde,

J'ai souvent fais appel à ce forum, et aujourd'hui pour la premiere je poste une discussion pour essayer de trouver une solution un peu plus personnalisée. Je suis encore débutant en VBA, merci de votre aide.

Mon probleme est le suivant, je souhaite rechercher dans une base de données (plus précisement dans une colonne), une chaine de caratere (un nom), et le faire ressortir en colorant la cellule en rouge. Jusque là tout fonctionne, mais lorsque que le nom n'existe pas, j'ai un message d'erreur et je n'arrive pas à comprendre pourquoi. Normalement un msgbox devrait apparaitre en me signalant qu'il ne trouve pas le nom.

Voila mon code:


Private Sub CommandButton4_Click()

Dim Recherche As Range
Dim Nom As String
'déclaration des variables

Nom = UCase(InputBox("Saisir le Nom du client", "Recherche"))
'définition de la variable + mise en majuscule

Set Recherche = ActiveSheet.Columns(2).Cells.Find(what:=Nom)
'trouve la valeur une fois

Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 2eme fois

If Recherche Is Nothing Then

MsgBox "Le Nom " & Nom & " n'existe pas dans la base", vbInformation + vbOKOnly, "Recherche de Nom"

End If

End Sub



Quelqu'un comprend ce qui ne va pas ?

Merci d'avance
 

tototiti2008

XLDnaute Barbatruc
Re : Recherche de chaine de caracteres dans colonne, probleme lors de non résultat (V

Bonjour Dam178,

si tu n'as pas eu de réponse plus rapide, c'est que tu n'as pas posté dans la bonne partie du forum, il faut poser les questions là :
Forum Excel

Code:
Private Sub CommandButton4_Click()

Dim Recherche As Range
Dim Nom As String
'déclaration des variables
    
Nom = UCase(InputBox("Saisir le Nom du client", "Recherche"))
'définition de la variable + mise en majuscule

Set Recherche = ActiveSheet.Columns(2).Cells.Find(what:=Nom)
'trouve la valeur une fois
If Recherche Is Nothing Then
        
 MsgBox "Le Nom " & Nom & " n'existe pas dans la base", vbInformation + vbOKOnly, "Recherche de Nom"
 Exit sub
 End If

Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 2eme fois
    

End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 418
Membres
103 205
dernier inscrit
zch