Modification du Champ Rechercher

Bonjour Le forum j’aurais besoin de vos lumières .

J’avais posté un post pour l’amélioration d’un champ de recherche .

J’aimerais aujourd’hui apporter deux modifications :

1. J’aimerais effectuer une recherche par mots clés quelque soit l’ordre de la phrase

2. J’ai placé des mises en forme conditionnelle et j’aimerais une fois ma recherche effectuée que cela désactive temporairement ma mise en forme conditionnelle mette évidence ma recherche et une fois le champ de recherche vide la mise en forme conditionnel se réactive.

J’espère que mes explications ont été suffisamment claire

Vous trouverez ci-joint mon fichier d’exemple.

Merci d’avance

Re,

J'ai trouvé la réponse à ma 1er question, il manquait simplement un "*" juste après like

Par contre si quelqu'un a une solution pour ma deuxième question à savoir:

J’ai placé des mises en forme conditionnelle et j’aimerais une fois ma recherche effectuée que cela désactive temporairement ma mise en forme conditionnelle, mette évidence ma recherche et une fois le champ de recherche vide, la mise en forme conditionnelle se réactive, si c'est possible.

Si joint le fichier corrigé.

Meilleures salutations

Bonjour,

Je ne sais pas si tu cherches toujours une réponse, ni si j'ai bien compris ... nous verrons bien

L'idée de supprimer, puis recréer des MFC paraît peu réaliste (ou inutilement compliquée).

En pièce jointe,

  • je place une nouvelle MFC tout en haut de la liste, qui colore toute la ligne, de la colonne A à M, dès qu'un "x" figure en colonne A
  • le "x" s'inscrit dans la Sub ListBox1_Click()
  • on efface les "x" qui figureraient en colonne A dans la Sub TextBox1_Change()

Bonjour U. Milité,

Merci pour ta réponse .

Oui effet cela ressemble beaucoup à ce que je voudrais .

Trois modifications seraient bien, surtout la 1 si cela est possible .

1. Que cela colorie de la colonne B à D

2. Dans la colonne A rien ne doit apparaitre

3. Les lignes se colories automatiquement sans à voir à les sélectionner dans la « ListBox »

(comme dans ton fichier, se colorie en les sélectionnant, elle pourrait être pratique )

Merci pour ton aide

Meilleures salutations

Bonsoir,

nini007 a écrit :

1. Que cela colorie de la colonne B à D

Il suffit de modifier, pour la MFC que j'ai ajoutée, l'étendue de la plage à laquelle elle s'applique (au lieu de A12:Mxxx, renseigne B12:Dxxx)

nini007 a écrit :

2. Dans la colonne A rien ne doit apparaitre

Rien ne doit apparaître ... ou rien ne doit être inscrit ?? En tout état de cause, tu peux inscrire le "x" (ou n'importe quoi d'autre!) dans la colonne de ton choix, et même masquer celle-ci.

nini007 a écrit :

3. Les lignes se colories automatiquement sans à voir à les sélectionner dans la « ListBox »

Euh ... vous pouvez répéter la question?

Bonjour,

Merci pour ton aide

Pour les deux premier point cela me va bien, j'ai pu faire les modifs

Pour le point 3, j'aurais voulu que les lignes qui apparait dans la « ListBox » ce colorie avec la MFC que tu as mis en place(sans à avoir besoin de cliquer dessus), mais au final si je dois cliquer sur les lignes pour que la MFC s'active c'est bien aussi

Par contre je voudrais pouvoir écrire n'importe quel texte et là je peux uniquement écrire le "x" ?

Merci d'avance

Meilleures salutations

Bonjour,

Décidément, je ne comprends pas? À quoi sert ta ListBox, si ... tu ne l'utilises pas?

Une simple MFC aurait permis de colorer les lignes contenant une suite quelconque de caractères, dès le départ?

Bonjour,

Désolé c'est peut être pas très claire .

Oui je l'utilise ListBox, quand on clique dessus cela ramène la ligne au début du volet figé .

J’ai placé des MFC dans mon tableau, une fois ma recherche effectuée par exemple avec le mot "télécharger", dans la liste ListBox il apparait deux ligne, le ligne 16 et 19 de mon tableau. Malheureusement il n'y a que la ligne 16 qui est mise en évidence en vert, la ligne 19 reste en rouge (Sans-titre-1.jpg). J'aurais voulut que le ligne 19 qui a une MFC soit aussi en vert quand le champ recherche est utilisé.

Une fois le champ de recherche vide le ligne 19 redevienne rouge (Sans-titre-2.jpg).

J’espère que mes explications ont été suffisamment claire

Merci d’avance

Meilleures salutations

sans titre 1 sans titre 2

Bonjour,

Teste tes deux procédures ci-dessous avec deux modifications mineures:

Private Sub ListBox1_Click()
  ActiveWindow.ScrollRow = Me.ListBox1.List(Me.ListBox1.ListIndex, 1)
  'Cells(Me.ListBox1.List(Me.ListBox1.ListIndex, 1), 1) = "x"
End Sub

Private Sub TextBox1_Change()
Application.ScreenUpdating = False

    Range("B12:B1000").Interior.ColorIndex = 2

    [A12:A1000] = ""
    ActiveWindow.ScrollRow = 9
    With Me.ListBox1
      .Clear
      .ColumnCount = 2
      .ColumnWidths = "-1;0"
      .Height = 92
      .Width = 330
    End With
    If TextBox1 <> "" Then
        For ligne = 12 To Cells(Rows.Count, 2).End(xlUp).Row 'modifié pour éviter la boucle jusqu'en ligne 1000
            If Cells(ligne, 2) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 1) = "x" 'on inscrit le "x" ici
                ListBox1.AddItem Cells(ligne, 2)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = ligne
            End If
        Next
    End If

End Sub

Reste à voir si tout ceci ne va pas alourdir ... peut-être obliger la saisie d'au moins deux caractères dans la TextBox, avant de déclencher la macro?

Bonjour,

Super merci c'est exactement ça

J'ai modifié un peu le fichier avec un comptage du nombre de "x" trouvé, cela peut être utile .

Cela fonctionne très bien, c'est vrai que j'avais pas pensé à la MFC, bravo .

Toujours aussi efficace le Forum

Merci de ton aide

Meilleures salutations

Rechercher des sujets similaires à "modification champ rechercher"