[Excel] Fonction de recherche petit soucis

Résolu/Fermé
yyannd - 18 nov. 2011 à 10:58
 yy - 18 nov. 2011 à 13:46
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
A voir également:

2 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
18 nov. 2011 à 12:52
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
Re,

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

Merci pour l'help ;)
0