Macro : Recherche d'1 mot dans une phrase

link93

XLDnaute Occasionnel
Bonjour,

J'aimerai faire évoluer un fichier excel qui permets de faire une recherche sur une page et de n'afficher que les feuilles trouvé.

L'inconvénient c'est qu'il faut taper le mots exact pour faire aboutir une recherche alors que dans mots cas il y a plusieurs mots dans une même cellule.

Ex : a1 la maison bleu

Si je tape maison qu'il me l'affiche quand même alors que pour l'instant pour la faire apparaitre il faudrait que je tape tout.

Je mets le fichier en PJ si quelqu'un à une idée ^^.

Merci
 

Pièces jointes

  • Test recherche.xls
    44 KB · Affichages: 255
  • Test recherche.xls
    44 KB · Affichages: 417
  • Test recherche.xls
    44 KB · Affichages: 430

fhoest

XLDnaute Accro
Re : Macro : Recherche d'1 mot dans une phrase

Bonjour
je te propose de remplacer ton code par celui ci,mais il faut que tu gère mieux ton msgbox rien....
Code:
Option Compare Text


Private Sub Annuler_Click()
Rows("1:65536").EntireRow.Hidden = False
End Sub

Private Sub Ok_Click()
Dim i As Integer, j As Integer
Dim bool As Boolean

Rows("1:65536").EntireRow.Hidden = False
If Not Me.TextBox1.Value = "" Then
  
        For i = 2 To Range("A65536").End(xlUp).Row
            bool = False
            For j = 1 To 5
                If Cells(i, j).Value Like "*" & Me.TextBox1.Value & "*" Then
                    bool = True
                End If
            Next j
            If bool = False Then Rows(i).EntireRow.Hidden = True
        Next i ' instruction manquante
    MsgBox "Il n'y a rien a rechercher !!!", vbExclamation + vbOKOnly, ""
    Me.TextBox1.SetFocus
End If
End Sub


Private Sub Quitter_Click()
Unload UserForm1
End Sub
A+
 

Dranreb

XLDnaute Barbatruc
Re : Macro : Recherche d'1 mot dans une phrase

Bonjour
Comme ceci peut être:
VB:
Private Sub Ok_Click()
Dim i As Integer, j As Integer, Rg As Range
Rows("1:65536").EntireRow.Hidden = False
If Not Me.TextBox1.Value = "" Then
   Set Rg = Range("A2:E2").Resize(Range("A65536").End(xlUp).Row)
   Set Rg = Rg.Find(What:=Me.TextBox1.Value, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False)
   If Rg Is Nothing Then
      Me.TextBox1.SetFocus
      MsgBox "Il n'y a rien a rechercher !!!", vbExclamation + vbOKOnly, ""
   Else
      Rg.Select
      End If
End If
End Sub
À+
 

JBOBO

XLDnaute Accro
Re : Macro : Recherche d'1 mot dans une phrase

Bonjour,

une piste avec les mises en formes conditionnelles, a voir si ça peut t'aider
 

Pièces jointes

  • recherche mot.xls
    49.5 KB · Affichages: 171
  • recherche mot.xls
    49.5 KB · Affichages: 179
  • recherche mot.xls
    49.5 KB · Affichages: 172

link93

XLDnaute Occasionnel
Re : Macro : Recherche d'1 mot dans une phrase

Re,

Déja un grand merci pour vos réponse cela ma bien aidé,

J'ai regardé les différentes solution j'ai refait un fichier en reprenant le code de fhoest qui marche à deux chose prés.

Une fois la recherche fini la ligne a est toujours apparente quelque soit la recherche et il m'indique toujours le message " il n'y a rien a rechercher".

SI vous avez une idée.

Merci :)
 

Pièces jointes

  • test 2.xls
    36.5 KB · Affichages: 81
  • test 2.xls
    36.5 KB · Affichages: 87
  • test 2.xls
    36.5 KB · Affichages: 87

fhoest

XLDnaute Accro
Re : Macro : Recherche d'1 mot dans une phrase

Bonjour,
voici le code modifié pour que cela fonctionne correctement,
Code:
Private Sub Button3_Click()
Dim i As Integer, j As Integer
Dim bool As Boolean

 Rows("1:65536").EntireRow.Hidden = False
 
 If Me.TextBox1.Value = "" Then
 MsgBox "Il n'y a rien a rechercher !!!", vbExclamation + vbOKOnly, ""
 Me.TextBox1.SetFocus
 Exit Sub
 End If
 If Not Me.TextBox1.Value = "" Then
 
        For i = 1 To Range("A65536").End(xlUp).Row
            bool = False
            For j = 1 To 5
                If Cells(i, j).Value Like "*" & Me.TextBox1.Value & "*" Then
                    bool = True
                End If
            Next j
            If bool = False Then Rows(i).EntireRow.Hidden = True
        Next i ' instruction manquante

End If
End Sub
A bientôt.
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
438

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 581
Messages
2 089 916
Membres
104 306
dernier inscrit
Bouhlal