Rechercher un mot dans une colone de titres

Résolu/Fermé
CLAVERELI
Messages postés
52
Date d'inscription
lundi 8 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014
- 17 janv. 2013 à 08:11
 CLAVERELI - 20 janv. 2013 à 08:15
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

CLAVERELI
Messages postés
52
Date d'inscription
lundi 8 octobre 2012
Statut
Membre
Dernière intervention
24 mai 2014

17 janv. 2013 à 08:14
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
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
17 janv. 2013 à 10:13
Bonjour CLAVERELI,

like "*ROI*" .. à creuser
0
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
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
17 janv. 2013 à 15:13
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
18 janv. 2013 à 09:21
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
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
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 195
18 janv. 2013 à 11:42
Bonjour, bonjour Heliotte,
Une autre façon de faire ?
Filtre partiel.xls
A+
0
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 195
18 janv. 2013 à 12:53
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
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
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 195
Modifié par lermite222 le 18/01/2013 à 13:52
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
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
18 janv. 2013 à 15:04
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
Merci à tous pour votre aide. J'avance!
Bonne journée.
0