moteur recherche sur 1 seul feuille

  • Initiateur de la discussion Initiateur de la discussion nicom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nicom

Guest
Bonsoir

J'ai copier le code vba de JeanPierre qui me serre tres bien.

Que voici

Sub recherche(mot)
On Error GoTo fin
ligne = 1
For Each ws In Sheets
If ws.Name <> "trouver" Then
With ws.Cells
Set c = .Find(mot, LookIn:=xlValues, lookat:=xlPart)

If Not c Is Nothing Then
firstAddress = c.Address
Do
Sheets("trouver").Cells(ligne, 5).Select
Selection.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
ws.Name & "!" & c.Address, TextToDisplay:=c.Value
ligne = ligne + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
trouve = True
End If
End With
End If
Next ws
If Not trouve Then MsgBox ("Pas de " & mot & " trouvé dans ce fichier")
fin:
End Sub

Mais
il faudrait le modifier de façon qu'il fasse la recherche que sur une seul feuille appeler "liste".(et pas sur tout le fichier).

Merci de votre aide.

Nico
 

Pièces jointes

Re : moteur recherche sur 1 seul feuille

Bonjour nicom et bienvenu sur le forum,
Deux propositions:
1 - Utilise les balises Code pour mettre un code dans ton post (Bouton # dans le mode avancé de réponse)
2 -
VB:
Sub recherche(mot)
Dim C As Range, ligne As Long, ws As Worksheet
Dim trouve As Boolean, firstAddress As String
On Error GoTo fin
ligne = 1
Set ws = Sheets("liste")
With ws.Cells
    Set C = .Find(mot, LookIn:=xlValues, lookat:=xlPart)
    If Not C Is Nothing Then
        firstAddress = C.Address
        Do
            Sheets("trouver").Cells(ligne, 5).Select
            Selection.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
            ws.Name & "!" & C.Address, TextToDisplay:=C.Value
            ligne = ligne + 1
            Set C = .FindNext(C)
        Loop While Not C Is Nothing And C.Address <> firstAddress
        trouve = True
    End If
End With
If Not trouve Then MsgBox ("Pas de " & mot & " trouvé dans ce fichier")
fin:
End Sub
Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
664
Retour