Rechercher un mot dans une colone de titres

Résolu
CLAVERELI Messages postés 56 Statut Membre -  
 CLAVERELI -
Bonjour,

Dans une colonne de plusieurs centaines de titres je cherche à créer une liste de toutes les lignes dont le titre contient un mot particulier comme par exemple
RECHERCHE : ROI
RESULTAT : LES TROIS ROIS et LE ROI EST MORT sont des valeurs correctes. Les TROIS ANNES est une valeur acceptable.
Ceci fait, en cliquant sur l'un des résultats proposés je souhaite afficher dans un userform toutes les informations qui se trouvent sur la même ligne comme par exemple:

En A1: LE ROI EST MORT
En B1 : 1989
En C1: PAS FINI
En D1: EN COURS REFONTE SCRIPT

11 réponses

  1. CLAVERELI Messages postés 56 Statut Membre
     
    Veuillez bien m'excuser pour la formule de politesse manquante. Fausse manoeuvre!!!
    En l'occurence merci à quiconque voudra bien s'interesser a mon double sujet.
    0
  2. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonjour CLAVERELI,

    like "*ROI*" .. à creuser
    0
    1. CLAVERELI
       
      Merci pour ta réponse Héliotte.
      Ne pense tu pas que celà est un peu facile?
      Je crois que ma question est mal posée et je vais devoir joindre un extrait de mon fichier pour mieux me faire comprendre.
      A bientôt donc........et encore merci.
      0
  3. Heliotte Messages postés 1561 Statut Membre 92
     
    Ajouter ces objets:
    - Userform "Userform1"
    - Label "Label1"
    - TextBox "TextBox1"
    - CommandButton "CommandButton1"
    - ComboBox "ComboBox1"

    Code:
    Option Explicit
    
    Private Sub CommandButton1_Click()
        If (TextBox1.Text = "") Then Exit Sub
        '
        Dim DL As Long, PL As Long, Col As Long, i As Long, j As Long
        Dim Trouve As Boolean, Chaine(2) As String
        '
        PL = 1
        Col = 1
        DL = Columns(Col).Find("*", , , , xlByColumns, xlPrevious).Row
        If (DL < 1) Then Exit Sub
        '
        Trouve = False
        Chaine(0) = LCase(TextBox1.Text) & " *"
        Chaine(1) = "* " & LCase(TextBox1.Text)
        Chaine(2) = "* " & LCase(TextBox1.Text) & " *"
    '    MsgBox Chaine
        Me.ComboBox1.Clear
        For i = PL To DL
            For j = 0 To 2
                If (LCase(Cells(i, Col).Value) Like Chaine(j) = True) Then
                    Me.ComboBox1.AddItem Cells(i, Col).Value
                    Trouve = True
                End If
            Next j
        Next i
        If (Trouve = False) Then
            MsgBox "Le mot """ & TextBox1.Text & """ n'a pas été trouvé !" & vbCrLf & _
                   "Veuillez réessayer avec un autre mot.", _
                   vbExclamation, _
                   "Recherche infructueuse !"
            TextBox1.SetFocus
            TextBox1.SelStart = 0
    '        TextBox1.SelLength = Len(TextBox1.Text)
    '        TextBox1.SelText = Len(TextBox1.Text)
            TextBox1.SelLength = Len(TextBox1.Text)
        End If
    End Sub
    
    Private Sub UserForm_Activate()
        Call InitializeListe
    End Sub
    
    Private Sub InitializeListe()
        Dim DL As Long, PL As Long, Col As Long, i As Long
        '
        PL = 1
        Col = 1
        DL = Columns(Col).Find("*", , , , xlByColumns, xlPrevious).Row
        If (DL < 1) Then Exit Sub
        '
        For i = PL To DL
            Me.ComboBox1.AddItem Cells(i, Col).Value
        Next i
    End Sub
    0
  4. CLAVERELI
     
    Bonjour Heliotte et merci pour ta nouvelle proposition qui me parait intéressante et que je vais tester dès que possible.
    Comme promis, j'aurais bien voulu joindre à cette réponse un extrait de mon programme mais je ne vois pas d'option "pièce jointe" sur cette page. Peux tu m'aider?
    Merci pour tout et @+
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonjour CLAVERELI,

    Impossible de joindre une pièce.
    Par contre, tu peux déposer le document sur un site de stockage, tel que www.cjoint.com , récupérer le lien que tu nous transmet avec ton prochain message.

    Attention, modifier/supprimer les données sensibles dans les documents !!!
    0
  7. CLAVERELI
     
    Re bonjour HELIOTTE.
    Comme conseillé j'ai utilisé cjoint.com
    voici le lien obtenu en éspérant qu'il fonctionne

    http://cjoint.com/?0AslboJaAQ9

    Si tu veux des commentaires sur "mon" travail, à ta disposition.
    Saches toutefois que cet extrait ne laisse apparaître que le partie inhérente au problème posé. Tous autres usf, boutons etc non indispensables ici ont été supprimés dans le seul souci d'alléger le poids du fichier. Il n'y a aucune donnée confidentiel dans la base.
    0
  8. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour, bonjour Heliotte,
    Une autre façon de faire ?
    Filtre partiel.xls
    A+
    0
  9. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Hummm, je n'avais pas vu que tu avais poster ton classeur mais je viens de regardé.
    Je ne vois nulle part les textes que tu décrit dans ta question, s'agit de ROI etc. alors que ton classeur concerne des recettes ?
    Sur quoi tu veux filtrer ?
    A+
    0
  10. CLAVERELI
     
    Bonjour lermitte222.
    Ta remarque est exacte. Mais ce n'était qu'un exemple pour situer le problème.
    Ceci dit, si tu ouvre mon classeur qui est expurger du superflus hors la question posée tu vas comprendre ce que je veux faire:
    1) ouverture du classeur sur le MENU.
    2) Bouton "CONSULTER UNE RECETTE" pour ouvrir le "MENU RECHERCHE"
    3) Clic sur la recette désirée dans la liste (pas par N° car cela ne fonctionne pas encore)
    4) Affichage du résultat de la recherche où TOUTES LES ZONES doivent apparaître REMPLIES AVEC LES INFORMATIONS qui proviennent de la ligne recherchée de la feuille NOUVELLE.
    Pardon pour la confusion.
    Merci pour ton interret
    A+
    0
  11. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Obliger d'employer un UF ?
    Propositon..
    1°) cliquer sur la colonne titre, en l' occurrence A1
    2°) InputBox pour le mot à chercher
    3°) Toute les lignes qui ne corresponde pas sont cachée
    4°) Re-cliquer sur le titre ré-affiche tout
    Mais c'est toujours possible d'avoir ça sur un UF mais je trouve que ce serrait moins lisible.
    Note : Les approximations (ton exemple) sont impossible avec Excel
    Tu dis.
    A+

    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    0
    1. Heliotte Messages postés 1561 Statut Membre 92
       
      Bonjour Lermite, bonjour CLAVERELI,

      C'est comme cela que je l'avais compris:
      Afficher un résultat après une recherche .. mais dans un UserForm.
      0
  12. CLAVERELI
     
    Merci à tous pour votre aide. J'avance!
    Bonne journée.
    0