Bonjour à tous,
J'ai retrouvé un bout de code ci-dessous, qui fonctionne, et qui permet de rechercher un mot dans toutes les feuilles d'un classeur.
Je voudrais modifier certaines choses.
1°. Je souhaite restreindre la recherche à une plage donnée, par exemple les colonnes B et C, mais je ne sais pas où insérer le code.
2°. Plutôt qu'une MsgBox qui pointe sur les cellules trouvées (ce qui est déjà très bien), je souhaiterais afficher les résultats dans une ListBox, et pouvoir cliquer sur les résultats qui nous pointent ensuite vers les cellules. Est-ce faisable?
Merci d'avance pour vos réponses.
J'ai retrouvé un bout de code ci-dessous, qui fonctionne, et qui permet de rechercher un mot dans toutes les feuilles d'un classeur.
VB:
Sub Rechercher()
Dim Sh As Worksheet
Dim c As Range
Dim Nom As String, firstAddress As String
Nom = InputBox("Nom à chercher dans toutes les feuilles", "Rechercher")
If Nom <> "" Then
For Each Sh In ThisWorkbook.Worksheets
Set c = Sh.Cells.Find(Nom, LookIn:=xlValues, LookAt:=xlPart) 'xlpart = partie du nom et xlwhole = casse exacte
If Not c Is Nothing Then
Sh.Activate
c.Select
firstAddress = c.Address
Do
strreponse = MsgBox(Sh.Name & "!" & c.Address & vbCrLf & _
"Oui pour continuer la recherche" & vbLf & _
"Non pour sortir", vbYesNo)
If strreponse = vbNo Then Exit Sub
Set c = Sh.Cells.FindNext(c)
c.Select
Loop While Not c Is Nothing And c.Address <> firstAddress
Set c = Nothing
End If
Next Sh
End If
End Sub
Je voudrais modifier certaines choses.
1°. Je souhaite restreindre la recherche à une plage donnée, par exemple les colonnes B et C, mais je ne sais pas où insérer le code.
2°. Plutôt qu'une MsgBox qui pointe sur les cellules trouvées (ce qui est déjà très bien), je souhaiterais afficher les résultats dans une ListBox, et pouvoir cliquer sur les résultats qui nous pointent ensuite vers les cellules. Est-ce faisable?
Merci d'avance pour vos réponses.