Re : Recherche d'un mot et renvoi du nom de l'onglet
Salut Luc,
Voici ci-dessous un code qui pourrait t'aller en + de faire la recherche cette macro t'envoi directement sur la feuille qui t'intérésse et te permet d'aller sur toutes les feuilles qui comportent le nom que tu cherche.
(Je n'ai aucun mérite ce code n'est pas de moi mais juste adapté :-I )
BYE
Sub TrouverChoix()
Dim Mot As String
Dim Ws As Object
Dim Nbre As Long
Dim Cycle As Long
Dim Trouvé As Variant
Dim CellAddress As Variant
Dim MyValue As String
Mot = InputBox("Quel est le mot recherché ?", Title:="Recherche")
If Mot = "" Then Exit Sub
For Each Ws In Worksheets
Nbre = Nbre + Application.CountIf(Ws.UsedRange, "=" & Mot)
Next Ws
If Nbre = 0 Then
MyValue = MsgBox(" L'alternateur " & Mot & " n'est pas enregistrée ", vbOKOnly, " Message ")
Else
Cycle = 0
For Each Ws In Worksheets
With Ws
.Activate
Set Trouvé = .Cells.Find(What:=Mot, After:=ActiveCell, LookIn:=xlValues, LookAt:=xlPart)
If Not Trouvé Is Nothing Then
CellAddress = Trouvé.Address
Do
Cycle = Cycle + 1
Trouvé.Activate
If Nbre = 1 Then
MyValue = MsgBox(" Le mot " & Mot & " est enregistrée 1 seule fois ", vbOKOnly, " Message ")
Exit Sub
End If
If Cycle = Nbre Then
MyValue = MsgBox(" Le mot " & Mot & " sélectionné est le dernier !", vbOKOnly, "Message")
Range("A1").Select
Exit Sub
Else
MyValue = MsgBox(" Le mot " & Mot & " sélectionné est le " & Cycle & "ème" & " sur " & Nbre & " existants. " & vbLf & _
" Voulez vous continuer la recherche ? ", vbYesNo, "Message")
If MyValue = vbNo Then Exit For
Set Trouvé = .Cells.FindNext(After:=Trouvé)
End If
Loop While Not Trouvé Is Nothing And Trouvé.Address <> CellAddress
End If
End With
Next Ws
End If
End Sub