Recherche d'un mot et renvoi du nom de l'onglet

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 !

Luc Lucasse

XLDnaute Occasionnel
Bonjour le forum, 😎

Vola mon problême:
J'écris un mot dans A6 de la feuille 1.
J'aimerai que mon programme cherche le mot dans tout le classeur et ensuite il me renvoit le nom de l'onglet en E6 et ca pour tous les mots qui se trouvent dans la colonne A de la feuille 1. 😱
Est ce qu'il est possible en cliquant sur le nom de l'onglet en E6, excel m'envoit directement sur la feuille de cette onglet??

Est ce que ce que tout ca est possible?? 😕

Merci pour votre aide 😉
 
Dernière édition:
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
 
Re : Recherche d'un mot et renvoi du nom de l'onglet

Merci pour ta réponse

En fait c'est un tableau que j'importe d'un site internet et lorsque les mots de ce tableau apparaissent dans la colonne A de la feuille 1 je veux que ca les recherche automatiquement dans les autres feuilles excel

Merci pour votre aide
 
Re : Recherche d'un mot et renvoi du nom de l'onglet

Merci Simons et Pascal pour vos réponses super rapides!!!! 😎

Est ce qu'il est possible que le nom de la feuille soit cliquable et si je clique dessus ca m'envoi sur cette feuille??

Merci c'est super sympa de m'aider 😉
 
Re : Recherche d'un mot et renvoi du nom de l'onglet

Quand j'écris:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Target.Value <> "" Then
MonTexte = Target.Value
MaLigne = Target.Row
recherche
End If
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E:E")) Is Nothing Then
If Target.Value <> "" Then Sheets(Target.Value).Select
End If
End Sub


Sur la partie en rouge il m'écrit "Nom ambigue detecté"



Est ce que ca peut venir d'une erreur sur le module:

Private Sub CommandButton1_Click()
Dim wshFeuille As Worksheet

' parcourir toutes les feuilles du classeur
For Each wshFeuille In Sheets
With wshFeuille
' si ce n'est pas Feuil1
If .Name <> "Feuil1" Then
' effacer contenu et formattage des plages spécifiées
Application.Union(.Range("C:R"), .Range("V:Z"), .Range("S4:U4")).Clear
End If
End With
Next
End Sub



Option Explicit

Public MonTexte As String
Public MaLigne As Integer

Sub recherche()

Dim ws As Worksheet
Dim x As Integer
Dim c
Dim MonAdresse As String

With Sheets("Menu")
.Range("E" & MaLigne) = ""
For Each ws In Worksheets
If ws.Name <> "Menu" Then
MonAdresse = ws.Range("A1").SpecialCells(xlCellTypeLastCell).Address
Set c = ws.Range("A1:" & MonAdresse).Find(MonTexte)
If Not c Is Nothing Then
.Range("E" & MaLigne) = ws.Name
Exit For
End If
End If
Next ws
End With



End Sub



Peut être erreur sur le module parce que la partie:
Option Explicit

Public MonTexte As String
Public MaLigne As Integer


fait partie de Commandbutton1_click et impossible de la faire changer de nom

Merci pour votre aide
 
Dernière édition:
Re : Recherche d'un mot et renvoi du nom de l'onglet

Re

Pour moi aussi si tu cliquer sur une cellule de la colonne E cela t'amenait sur la feuille en question

Pour l'autre problème tu as bien mis le code dans la feuille qui te sert de menu ???

Sinon l'option explicit et les variables public doivnet se trouver tout en haut du module
 
Re : Recherche d'un mot et renvoi du nom de l'onglet

Qu'est ce que tu appelles variables public??

Mon module:

Option Explicit

Public MonTexte As String
Public MaLigne As Integer
Private Sub CommandButton1_Click()
Dim wshFeuille As Worksheet

' parcourir toutes les feuilles du classeur
For Each wshFeuille In Sheets
With wshFeuille
' si ce n'est pas Feuil1
If .Name <> "Feuil1" Then
' effacer contenu et formattage des plages spécifiées
Application.Union(.Range("C:R"), .Range("V:Z"), .Range("S4:U4")).Clear
End If
End With
Next
End Sub

Sub recherche()

Dim ws As Worksheet
Dim x As Integer
Dim c
Dim MonAdresse As String

With Sheets("Menu")
.Range("E" & MaLigne) = ""
For Each ws In Worksheets
If ws.Name <> "Menu" Then
MonAdresse = ws.Range("A1").SpecialCells(xlCellTypeLastCell).Address
Set c = ws.Range("A1:" & MonAdresse).Find(MonTexte)
If Not c Is Nothing Then
.Range("E" & MaLigne) = ws.Name
Exit For
End If
End If
Next ws
End With



End Sub


Merci
 
Dernière édition:
- 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

Discussions similaires

Réponses
3
Affichages
221
Réponses
17
Affichages
878
Réponses
3
Affichages
881
Retour