[Excel] Fonction de recherche petit soucis
Résolu
yyannd
-
yy -
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
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:
- [Excel] Fonction de recherche petit soucis
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier du plus petit au plus grand excel - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
2 réponses
Bonjour,
Essaye avec ..
A chaque appui sur le bouton la sélection passe sur l'occurrence suivante jusque la dernière
A+
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 SubJe 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+