Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Recherche sur toutes les cellules

  • Initiateur de la discussion Initiateur de la discussion ryadus
  • 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 !

R

ryadus

Guest
Bonjour,
J'ai fait un petit code pour rechercher des mots dans mon classeur puis il me retourne les résultats sous forme de liens.
il me trouve les mots et me les affiches en forme de liens hypertexte.
Cependant la recherche ce fait uniquement sur la premieres colone de chaque feuille.

Pouvez m' aidez a faire en sorte qu'il cherche sur toutes les cellules de chaque feuilles.
Merci

Code:
Sub recherche_Click(mot)
Dim plage As Range
ligne = 9
For Each ws In Sheets
If ws.Name <> "Search Item" Then
For n = 1 To ws.Range("A65536").End(xlUp).Row
 If InStr(UCase(ws.Range("A" & n)), UCase(mot)) <> 0 Then
   Sheets("Search Item").Cells(ligne, 1).Select
   Selection.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=ws.Name & "!A" & n, TextToDisplay:=ws.Range("A" & n).Value
   ligne = ligne + 1
   trouve = True
 End If
Next n
End If
Next ws
If Not trouve Then MsgBox ("No " & mot & " found in the file")
End Sub
 
Re : Recherche sur toutes les cellules

Bonjour,

avec une petite modification : recherche de la dernière cellule renseignée d'un onglet et bouclage sur chaque cellule (ligne, colonne)

Code:
Sub recherche_Click(mot)
    Dim plage As Range, L As Long, C As Long
   
    ligne = 9
    For Each WS In Sheets
        If WS.Name <> "Search Item" Then

            For L = 1 To WS.Range("A1").SpecialCells(xlCellTypeLastCell).Row
                For C = 1 To WS.Range("A1").SpecialCells(xlCellTypeLastCell).Column
                    If InStr(UCase(WS.Cells(L, C)), UCase(mot)) <> 0 Then
                        Sheets("Search Item").Cells(ligne, 1).Hyperlinks.Add Anchor:=Sheets("Search Item").Cells(ligne, 1) _
                                                                                     , Address:="", SubAddress:=WS.Name & "!" & Cells(L, C).Address, TextToDisplay:=WS.Cells(L, C).Value
                        ligne = ligne + 1
                        trouve = True
                    End If
                Next C
            Next L
        End If
    Next WS
    If Not trouve Then MsgBox ("No " & mot & " found in the file")
End Sub

c'est tout

GIBI

PS : Il a raison JOB75 pourquoi faire compliqué quand on peut faire simple

Code:
    For Each ws In Sheets
        If ws.Name <> "Search Item" Then
            For Each Cellule In ws.UsedRange
                If InStr(UCase(Cellule), UCase(mot)) <> 0 Then
                    Sheets("Search Item").Cells(ligne, 1).Hyperlinks.Add Anchor:=Sheets("Search Item").Cells(ligne, 1) _
                                                                                 , Address:="", SubAddress:=ws.Name & "!" & Cellule.Address, TextToDisplay:=Cellule.Value
                    ligne = ligne + 1
                    trouve = True
                End If
            Next
        End If

    Next
 
Dernière édition:
Re : Recherche sur toutes les cellules

GIBI, j'ai essayé ton code et sa marche, mais sur certain liens (resultats) il me sort l'erreur "Reference is not valid" et sur certain le lien fonction.

Qu'en pensez vous?

Merci
 
- 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
7
Affichages
832
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…