[Excel] Fonction de recherche petit soucis

Résolu
yyannd -  
 yy -
Bonjour,

Je voudrais faire une recherche d'une valeur saisie dans un inputbox afin de vérifier si cette valeur est présente ou non dans ma feuille excel.

J'ai réussi à coder la chose comme ceci :

Sub recherche()
Dim rngTrouve As Range
Dim strChaine As String

strChaine = InputBox("Nom à rechercher :")
Set rngTrouve = ActiveSheet.Columns(1).Cells.Find(what:=strChaine)

If rngTrouve Is Nothing Then
MsgBox "Pas trouvé"
Else
Cells.Find(what:=strChaine).Activate
End If

Set rngTrouve = Nothing
End Sub

Cependant si une valeur existe plusieurs fois, il se positionne dans la 1ere cellulle ou il la trouvé puis la recherche est terminée, moi je voudrais compléter la chose c'est à dire que si la valeur existe dans une autre celulle qu'il la trouve et se positionne dedans, c'est un peu comme la fonction 'SUIVANT' lorsqu'on fait une recherche ctrl+f sur excel..

Merci de m"éclairer

2 réponses

  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Essaye avec ..
    Sub recherche()
    Dim rngTrouve As Range
    Static strChaine As String
    Static Ligne As Long
        If Ligne = 0 Then
            strChaine = InputBox("Nom à rechercher :")
            If strChaine = "" Then Exit Sub
            Ligne = 1
        End If
        For Each rngTrouve In Range("A" & Ligne & ":A" & [A65536].End(xlUp).Row + 1)
            If LCase(rngTrouve.Text) = LCase(strChaine) Then
                rngTrouve.Activate
                Ligne = rngTrouve.Row + 1
                Exit Sub
            End If
        Next
        MsgBox "Plus d'occurence ou pas trouvé"
        Ligne = 0
        Set rngTrouve = Nothing
    End Sub
    Je suppose que tu appel avec un bouton ?
    A chaque appui sur le bouton la sélection passe sur l'occurrence suivante jusque la dernière
    A+
    0
  2. yy
     
    Re,

    Oui je l'appel avec un bouton effectivement ça fonctionne très bien

    Merci pour l'help ;)
    0