Recherche en VBA

Bonjour à tous,

Je vous joints mon fichier sur lequel j'ai un petit problème que je n'arrive pas à résoudre.

Je souhaiterai faire une recherche d'un mot dans une zone de texte et qu'il affichera dans ma ListBox1.

Ca coince. quand je tape le 1er caractère il m'affiche tous les mots contenant le caractère rechercher.

merci de votre aide.

Amicalement

Noel

Re,

J'ai oublié de joindre mon fichier

Milles excuses

6classeur1.zip (8.69 Ko)

Bonjour,

Il faut vider le listbox à chaque fois afin qu'il soit remplis selon les nouveaux critères.

Private Sub TextBox1_Change()
    '    Application.ScreenUpdating = False
    Sheets("Feuil1").Activate
    Range("C1:C500").Interior.Color = 1
    ListBox1.Clear            ' <<< vider le listbox
    If TextBox1 <> "" Then
        For ligne = 1 To 500
            If Cells(ligne, 2) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 2).Interior.Color = xlNone
                ListBox1.AddItem Cells(ligne, 2)
            Else
                Cells(ligne, 2).Interior.Color = 43
            End If
        Next
    End If
End Sub

ric

Bonjour

et aussi le "*" devant la textbox a voir

Private Sub UserForm_Initialize()
Feuil1.Select
Nlig = Range("A" & Rows.Count).End(xlUp).Row
    For ligne = 1 To Nlig
        ListBox1.AddItem Cells(ligne, 2)
    Next ligne
End Sub

Private Sub TextBox1_Change()
Application.ScreenUpdating = False
Nlig = Range("A" & Rows.Count).End(xlUp).Row
ListBox1.Clear
    If TextBox1 <> "" Then
        For ligne = 1 To Nlig
            If Cells(ligne, 2) Like TextBox1 & "*" Then
                ListBox1.AddItem Cells(ligne, 2)
            End If
        Next ligne
    End If
End Sub

A+

Maurice

Bonjour Ric,

Je te remercie, mais ma listbox ne se rempli pas.

Je voudrai un exemple que lorsque je tape EXP: "Ingrid" qu'il rempli la listBox avec la phrase qui contient Ingrid.

Merci

Amicalement

Noel

Bonjour à tous,

Dans ce cas, il faut faire la recherche sur la colonne C (3) et non sur la B (2).

Private Sub TextBox1_Change()
    '    Application.ScreenUpdating = False
    Sheets("Feuil1").Activate
    Range("C1:C500").Interior.Color = 1
    ListBox1.Clear          ' <<< vider le listbox
    If TextBox1 <> "" Then
        For ligne = 1 To 500
            If Cells(ligne, 3) Like "*" & TextBox1 & "*" Then
                Cells(ligne, 3).Interior.Color = xlNone
                ListBox1.AddItem Cells(ligne, 3)
            Else
                Cells(ligne, 3).Interior.Color = 43
            End If
        Next
    End If
End Sub

ric

Bonjour Archer,

Re,

OK normalement c'est bon.

Mais maintenant je voudrai rajouter une ou 2 colonnes en avant dans ListBox. Comment faire.

Sachant que j'ai essayé de mettre dans les propriétés le nombre de colonne désiré.

Merci

Amicalement

Noel

Bonjour

voila avec 3 colonnes

a toi de faire le reste

A+

Maurice

6classeur1.zip (11.04 Ko)

Bonjour Maurice,

J'ai bien reçu tes recommandations.

Pour moi il a fallut que je commence par décortiquer ton code pour arriver au résultat escompté.

Je suis arrivé et je m'en félicite.

Grace à toi j'ai pu arrivé à ce que j'attendais.

Merci encore de ton aide

Et je remercie par la même occasion, Ric de son aide.

Amicalement

Noel

Rechercher des sujets similaires à "recherche vba"