Macro de recherche

T

Tophe

Guest
Bonsoir à tous,

Je cherche à réaliser une macro qui me refasse le Ctrl+F.
Pas de soucis pour une macro de recherche sur la même feuille ("Find") mais je souhaiterai étendre cette recherche sur toutes les feuilles d'un classeur voir même sur d'autres fichiers.

Une bonne âme est-elle dispo pour mon pb ?

Merci,
Tophe
 
V

Vériland

Guest
Bonsoir Tophe et toi le Forum,

Voici la procédure qui te permettra d'effectuer ta requête...

Sub Chercher()
'Vériland
'Chercher mot
'http://www.excel-downloads.com/html/French/forum/messages/1_50631_50631.htm

Dim Feuille As Worksheet
Dim Trouve As Range
Dim Valeur As Variant
Dim Boucle As String, Question As String
Dim Total As Long, Nombre As Long
'rentrer le mot à chercher
Question = InputBox("Entrez le mot", "Recherche sur les Feuilles")
'boucle sur feuilles
For Each Feuille In Worksheets
Total = Total + Application.CountIf(Feuille.UsedRange, "=" & Question)
Next Feuille
'rien trouvé
If Total = 0 Then
MsgBox Question & " non trouvé.", vbInformation
Else
' initialise compteur des mots
Nombre = 0
' boucle sur feuille des mots trouvés
For Each Feuille In Worksheets
With Feuille
.Activate
Set Trouve = .Cells.Find(Question)
If Not Trouve Is Nothing Then
Boucle = Trouve.Address
Do
' active cellule trouvée
' et donne la référence
Trouve.Activate
Nombre = Nombre + 1
Valeur = MsgBox("Trouvé " & Question & Chr(10) & Chr(10) & "(" & Nombre & " sur " & Total & ")", vbOKOnly)
If Valeur = vbCancel Then Exit For
Set Trouve = .Cells.FindNext(Trouve)
Loop While Not Trouve Is Nothing And Trouve.Address <> Boucle
End If
End With
Next Feuille
End If
End Sub


Son principe : on rentre un mot et la recherche s'effectue sur l'ensemble des feuilles

A+Veriland.gif


PS : Macro à copier depuis le forum auquel cas tu risques d'avoir les attributs gras du post dedans...
 

Discussions similaires

Réponses
8
Affichages
319
Réponses
2
Affichages
250
Réponses
20
Affichages
578