Rechercher avec un ou plusieurs mots clés

Résolu
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017 - 12 mai 2008 à 01:41
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 12 mai 2008 à 05:51
Bonjour,

j' ai une liste qui contient des fournitures

exemple :

Cahier petit carreau
crayon
régle
ciseau
cahier spirale

un textbox + un bouton pour effectuer la recherche

Je voudrais que lorsque je saisie  " cahier " dans mon textbox et que je clique sur mon bouton,
dans la liste, il ne s affiche que :

cahier petit carreau
cahier spirale

J' ai essayé un code que j' ai trouvé où on surligne le mot correspondant mais cela ne convient pas, je pense que le principe est le même mais je n y arrive pas.

Merci par avance pour votre aide

 

Fripouil

11 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 01:56
re,

Salut Mortalino,

voici en (VB6)

Private Sub Command1_Click()


Dim iBoucle As Integer
Dim sItems As String


For iBoucle = 0 To List1.ListCount - 1


    sItems = List1.List(iBoucle)
   
    If InStrRev(sItems, "cahier") Then MsgBox List1.List(iBoucle)
   
Next iBoucle


End Sub

"cahier" correpond à ton TextBox, tu peux le faire sans la var : sItems


A+
Exploreur

 Linux a un noyau, Windows un pépin
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 01:49
Salut,

Je pense que dans ton cas une boucle sur ta list + l'utilisation de InstrRev et voir Mid$ et Right$, devrait répondre à ta demande...

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Fripouil Messages postés 175 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 8 mai 2017
12 mai 2008 à 01:52
euh tu n aurais pas un petit exemple que je puisses transformer car je vois pas bien ce que tu veux dire

merci encore

Fripouil
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 mai 2008 à 01:54
Salut,
(salut Exploreur)

Je connais rien au dot Net, mais pourquoi ne pas (à l'évènement Click du bouton) lire chaque Item à l'aide d'une boucle, et quand il n'y a pas le terme indiqué dans le TextBox DANS l'item en cours, tu fais un Remove de celui-ci ?
Il ne restera que ceux ayant le mot-clé recherché

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0

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

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 01:57
ce qui donne :

If InStrRev(List1.List(iBoucle), "cahier") Then MsgBox List1.List(iBoucle)

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 mai 2008 à 01:59
pourquoi InStrRev ?

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 02:01
ben....c'est ma façon de voir la chose(qui n'est pas toujours la meilleur....)

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
12 mai 2008 à 02:02
j'suis toujours en apprentissage....lol...

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 mai 2008 à 02:05
No soucy  ;)
Autant partir du début, c'est plus simple.

Bien que je n'y connaisse rien, j'essaie de lui faire, mais galère ce dot net

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 mai 2008 à 02:17
Je comprends maintenant pourquoi je ne me mets pas au dot net..
Ce fichu RemoveAtm'a fait galéré..

Bef,
ouvre un nouveau projet (pour tester, mais ca fonctionne), place une listbox, un textbox et un bouton :

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles
MyBase.Load
        With Me.ListBox1
            .Items.Add("Cahiers petit
carreaux")
            .Items.Add("stylos")
            .Items.Add("Marqueurs")
            .Items.Add("Feuilles A4")
            .Items.Add("Cahiers grand
carreaux")
            .Items.Add("Trouilloteuse")
        End With
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles
Button1.Click
        Dim i As Long

        For i = Me.ListBox1.Items.Count - 1
To 0 Step -1
            If InStr(LCase(Me.ListBox1.Items.Item(i).ToString), LCase(Me.TextBox1.Text.ToString)) =
0 Then Me.ListBox1.Items.RemoveAt(i)
        Next
    End Sub
End Class
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
12 mai 2008 à 05:51
outch moitié vb moitié vb.net.....

à vérifier
dans ce but contexte :
instr => chaine.contains
lcase => chaine.tolower

next? next I ^^

et on peut déclarer en même temps que l'utilisation, ce qui donne :

<strike>Dim i As Long</strike>
For i As Long = Me.ListBox1.Items.Count -
1 To 0 Step -1

mieux vaut décocher les références à VB6 pour se forcer à prendre le pli....
plus de left mid etc...
<hr width="100%" size="2" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous