Recherche de chaine de caracteres dans colonne, probleme lors de non résultat (VBA)
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
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 3eme fois
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 4eme fois
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 5eme fois
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 10eme fois
Recherche.Interior.Color = vbRed
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
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
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 3eme fois
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 4eme fois
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 5eme fois
Recherche.Interior.Color = vbRed
Set Recherche = ActiveSheet.Columns(2).Cells.FindNext(Recherche)
'trouve la valeur une 10eme fois
Recherche.Interior.Color = vbRed
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