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

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 !

marcelio

XLDnaute Occasionnel
Bonjour à tous,

Je suis à la recherche d'un USF avec une fonction recherche,
le tout pour améliore mon fichier.

En cherchant sur le forum j'ai fini par trouver celui-ci.
Il fonctionne bien pour l'instant mais il fait sa recherche sur toutes les feuilles de mon fichier
Or je voudrais qu'il cherche seulement sur une feuille
La feuille " trib "

Voici le code

Option Explicit
'
' Recherche d'une lettre ou d'un mot sur
' l'ensemble des feuilles
'
' Vériland Octobre 2003
' pour Lien supprimé
'
Private Sub CommandButton2_Click()
Feuil1.Activate
Unload Me
End Sub

Private Sub AfficheListe_Click()
Dim WS As Worksheet
Dim Plage As Range, Cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Variant
Dim C As Object

Recherche = TextBox1

If Recherche = "" Then Exit Sub

For Each WS In Worksheets
Ligne = Worksheets(WS.Name).Range("" & "B" & "65536").End(xlUp).Row
Set Plage = Worksheets(WS.Name).Range("" & "B" & "4:" & "DL" & Ligne)

With Plage
Set C = .Find(Recherche)
If Not C Is Nothing Then
Adresse = C.Address
Do
ListBox1.AddItem C
ListBox2.AddItem C.Address
ListBox3.AddItem WS.Name
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With

Next WS
End Sub
Private Sub ListBox1_Click()
Dim i As Byte
Dim Feuille As String, Cellule As String
For i = 0 To ListBox1.ListCount
If ListBox1.Selected(i) = True Then
Cellule = ListBox2.List(i)
Feuille = ListBox3.List(i)
End If
Next i
Sheets(Feuille).Activate
Range(Cellule).Select
End Sub


Merci beaucoup de votre aide

Marcelio
 

Pièces jointes

Re : USF Recherche

Il fonctionne bien pour l'instant mais il fait sa recherche sur toutes les feuilles de mon fichier
Or je voudrais qu'il cherche seulement sur une feuille
La feuille " trib "
voici la partie de code modifiée pour répondre à la demande
Code:
Private Sub AfficheListe_Click()
Dim Plage As Range, Cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Variant
Dim C As Object

Recherche = TextBox1

If Recherche = "" Then Exit Sub

Ligne = Worksheets("trib").Range("" & "B" & "65536").End(xlUp).Row
Set Plage = Worksheets("trib").Range("" & "B" & "4:" & "DL" & Ligne)
 
    With Plage
        Set C = .Find(Recherche)
        If Not C Is Nothing Then
            Adresse = C.Address
            Do
                ListBox1.AddItem C
                ListBox2.AddItem C.Address
                Set C = .FindNext(C)
            Loop While Not C Is Nothing And C.Address <> Adresse
        End If
    End With

End Sub

à+
Philippe
 
Re : USF Recherche

Bonjour,
Sous le bouton rechercher voici de quoi mettre
Pas non plus obligé d'écrire en entier
Bruno
Code:
Private Sub CommandButton2_Click()
Dim nom, C, firstAddress, rep
nom = InputBox("A rechercher", "Recherche")
If nom = "" Then Exit Sub
With Sheets("trib").UsedRange
Set C = .Find(nom, LookIn:=xlValues)
If Not C Is Nothing Then
firstAddress = C.Address
Do
C.Activate
rep = MsgBox("Continuer la recherche ?", 4 + 32, "Sélection")
If rep = vbNo Then Exit Sub
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddress
End If
End With
MsgBox "Recherche terminée!"
End Sub
 
Re : USF Recherche

Bonsoir,

Merci de ta réponse Philippe,
Mais j'ai une erreur après avoir cliquez sur OK.
"Erreur d'exécution '94'
Utilisation incorrecte de Null"

en cliquant sur débogage ça me met l'erreur à
Feuille = ListBox3.List(i)

Private Sub ListBox1_Click()
Dim i As Byte
Dim Feuille As String, Cellule As String
For i = 0 To ListBox1.ListCount
If ListBox1.Selected(i) = True Then
Cellule = ListBox2.List(i)
Feuille = ListBox3.List(i)
End If
Next i
Sheets(Feuille).Activate
Range(Cellule).Select
End Sub

J'ai donc supprimer
Feuille = ListBox3.List(i) et
Sheets(Feuille).Activate
car cela posait aussi un problème.
Cela fonctionne mais peut tu me dire si j'ai bien fait et si il y a autre chose à ajouter

Merci de ton aide
 
Re : USF Recherche

salut

à mon avis, tu as des codes compliqués pour ce que tu veux faire.
Un contrôle ListBox avec 2 colonnes remplace avantageusement 3 de ces contrôles (dont l'un inutile) !
La sélection se fait au sortir de l'UsF.
 

Pièces jointes

Re : USF Recherche

En reprenant le fichier de Si que je salut,
Mettre en listbox1 multiselect=0
et ajouter
Private Sub ListBox1_Click()
Range(ListBox1.List(ListBox1.ListIndex, 1)).Select
End Sub
Comme cela la cellule est séléctionnée
Bruno
 
- 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
10
Affichages
531
Réponses
5
Affichages
477
Réponses
5
Affichages
703
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…