Sub Recherche()
Dim MaRecherche$, Message$, Ws As Worksheet, c As Range, firstAddress$, n
MaRecherche = Sheets("01.Tableau général").Range("C29")
Message = "La valeur " & MaRecherche & " a été trouvée :" & vbLf
For Each Ws In Worksheets
If Ws.Visible = xlSheetVisible And Ws.Name <> "01.Tableau général" Then
Set c = Ws.Columns("A:Z").Find(What:=MaRecherche, LookIn:=xlValues, LookAt:=xlPart)
If Not c Is Nothing Then
firstAddress = c.Address
Do
n = n + 1
Message = Message & "- dans la feuille " & Ws.Name & ", cellule " & c.Address(0, 0) & vbLf
Set c = Ws.Columns("A:Z").FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End If
Next Ws
If n Then MsgBox Left(Message, Len(Message) - 1)
End Sub