recherche partielle

camadian

XLDnaute Junior
Bonjour,
De retour de vacances je suis a nouveau devant un pb
dans ma macro qui fonctionne j'effectue une recherche avec le prénom j'ai le résultat mais mon problème est que
dans la colonne L8 j'ai des cellules de type " Prénom, NOM"
et je souhaiterai chercher indifféremment.
j'ai fais des tests avec find, xlpart
donc si quelqu'un peut m'aider ??
un grand merci


Private Sub TextBox3_Change()

Dim H As Integer
If TextBox3 = "" Then
ListBox1.Clear
ListBox1.BackColor = &HFFFFFF

Exit Sub
End If

ListBox1.Clear

With Worksheets("Tool_Dossiers")
If .Range("L8") = " " Then Exit Sub
For H = H + 1 To .Range("A65536").End(xlUp).Row - 7
If Left(.Range("L8").Cells(H, 1), Len(TextBox3)) = TextBox3 Then ListBox1.AddItem .Range("A8").Cells(H, 1)
TextBox3.BackColor = &HFFFFFF
ListBox1.BackColor = &HC0C0FF
Next H
End With

End Sub
 

skoobi

XLDnaute Barbatruc
Re : recherche partielle

Bonjour camadian,

Ton descriptif ne colle pas du tout avec le code que tu nous indiques, qui fait référence à un userform je suppose.
Soit plus clair dans ta demande, merci.

Bon après-midi.
 

camadian

XLDnaute Junior
Re : recherche partielle

bonjour skoobi,
en effet je fais appel un userform:
dans ma recherche je tape la première lettre du prénom et le formulaire m'inscrit toutes les dossiers qui y font référence.
mais je souhaiterai taper soit le prénom ou le nom

lien vers le fichier
 

camadian

XLDnaute Junior
Re : recherche partielle

Bonjour skoobi,
Lors du lancement de l'application tu lances "recherche d'un projet" et dans ingénieur d'affaire tu tapes la première lettre du prénom ex: "pierre hervat" il t'affiche tous les dossiers appartenant a cette personne, mais ce que je souhaiterai si c'est possible c'est que quand je tape "hervat pierre" le système t'affiche également tous les dossiers.

donc si tu as une petite idée
En te remerciant par avance.

Didier
 

skoobi

XLDnaute Barbatruc
Re : recherche partielle

Bonjour camadian,

voici un essai:

Code:
Private Sub TextBox3_Change()
Dim H As Integer, Ing As Variant, Pers As Variant
If TextBox3 = "" Then
ListBox1.Clear
ListBox1.BackColor = &HFFFFFF
Exit Sub
End If
ListBox1.Clear
Ing = Split(TextBox3.Value, " ")
With Worksheets("Tool_Dossiers")
    If .Range("L8") = " " Then Exit Sub
'    For H = H + 1 To .Range("A65536").End(xlUp).Row - 7
    For H = 8 To .Range("A65536").End(xlUp).Row
        Pers = Split(.Range("L" & H).Value, " ")
        If UBound(Ing) = 0 Then
          If UBound(Pers) = 1 Then
            If UCase(Pers(0)) Like UCase(Ing(0)) & "*" Or UCase(Pers(1)) Like UCase(Ing(0)) & "*" Then ListBox1.AddItem .Range("A" & H).Value
          Else
            If UCase(Pers(0)) Like UCase(Ing(0)) & "*" Then ListBox1.AddItem .Range("A" & H).Value
          End If
        Else
'        If Left(.Range("L8").Cells(H, 1), Len(TextBox3)) = TextBox3 Then ListBox1.AddItem .Range("A8").Cells(H, 1)
          If UBound(Pers) = 1 And Ing(1) <> "" Then
            If (UCase(Pers(0)) Like UCase(Ing(0)) & "*" And UCase(Pers(1)) Like UCase(Ing(1)) & "*") Or (UCase(Pers(1)) Like UCase(Ing(0)) & "*" And UCase(Pers(0)) Like UCase(Ing(1)) & "*") Then ListBox1.AddItem .Range("A" & H).Value
          End If
        End If
    TextBox3.BackColor = &HFFFFFF
    ListBox1.BackColor = &HC0C0FF
    Next H
End With
End Sub

Test et dis-nous si c'est ça que tu veux.
 

Discussions similaires

Réponses
4
Affichages
251
Réponses
6
Affichages
321
Réponses
1
Affichages
220

Statistiques des forums

Discussions
312 753
Messages
2 091 667
Membres
105 039
dernier inscrit
rouibi