recherche par mots clés
Le
EliotNaiss
Bonjour à vous,
Mon classeur contient deux feuilles 'Cherche' et 'Liste'.
Dans 'Liste', j'ai deux colonnes 'Codes' et 'Intitulés'.
Ces colonnes correspondent à des intitulés de formation avec leurs codes
respectifs.
A partir de 'Cherche', je désire faire appel à un Userform; dans un
champ texte, saisir un ou plusieurs mots clés pour chercher dans les
intitulés, qui m'afficheront (si trouvés) le ou les codes et intitulés,
dont les mots clés saisis auront une correspondance.
Je désire en fin, dans la liste de résultat, faire un double-clic et que
le code de cet enregistrement, soit écrit dans une cellule de la feuille
'Cherche'.
Je cherche aide car je ne sais pas trop manipuler les chaines de texte,
surtout en recherche de correspondance
J'espère m'être pas trop mal exprimé ?
Merci par avance.
Cordialement
Eliot
Mon classeur contient deux feuilles 'Cherche' et 'Liste'.
Dans 'Liste', j'ai deux colonnes 'Codes' et 'Intitulés'.
Ces colonnes correspondent à des intitulés de formation avec leurs codes
respectifs.
A partir de 'Cherche', je désire faire appel à un Userform; dans un
champ texte, saisir un ou plusieurs mots clés pour chercher dans les
intitulés, qui m'afficheront (si trouvés) le ou les codes et intitulés,
dont les mots clés saisis auront une correspondance.
Je désire en fin, dans la liste de résultat, faire un double-clic et que
le code de cet enregistrement, soit écrit dans une cellule de la feuille
'Cherche'.
Je cherche aide car je ne sais pas trop manipuler les chaines de texte,
surtout en recherche de correspondance
J'espère m'être pas trop mal exprimé ?
Merci par avance.
Cordialement
Eliot

Poser une question


Recherche par mots clés du type ET:
http://boisgontierj.free.fr/fichier...rcheET.xls
Private Sub B_ok_Click()
a = Split(Me.ListeMC, " ")
temp = "=ISNUMBER(SEARCH(""" & a(0) & """,B2))"
For i = 1 To UBound(a)
temp = temp & "*" & "ISNUMBER(SEARCH(""" & a(i) & """,B2))"
Next i
Sheets("Liste").[D2] = temp
Sheets("Liste").[A1:B10000].AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Sheets("Liste").[D1:D2], _
CopyToRange:=Sheets("Liste").[F1:G1]
Me.ListBox1.RowSource = "résultat"
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[A65000].End(xlUp).Offset(1, 0) = Me.ListBox1
[A65000].End(xlUp).Offset(0, 1) = Me.ListBox1.Column(1)
End Sub
JB
On 8 mar, 23:12, "EliotNaiss"
la démarche est très bonne, je pense pouvoir m'en inspirer !
Est-il possible que l'action du Btn OK soit faite lors de l'apparition
de l'espace, qui sépare les mots clés, tout en pensant que l'utilisateur
peut effacer un mot clé avec backspace !
Là, je suis sur de ne pas savoir faire ...
Encore merci par avance
Cordialement
Eliot
"JB"
Bonjour,
Recherche par mots clés du type ET:
http://boisgontierj.free.fr/fichier...rcheET.xls
Private Sub B_ok_Click()
a = Split(Me.ListeMC, " ")
temp = "=ISNUMBER(SEARCH(""" & a(0) & """,B2))"
For i = 1 To UBound(a)
temp = temp & "*" & "ISNUMBER(SEARCH(""" & a(i) & """,B2))"
Next i
Sheets("Liste").[D2] = temp
Sheets("Liste").[A1:B10000].AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Sheets("Liste").[D1:D2], _
CopyToRange:=Sheets("Liste").[F1:G1]
Me.ListBox1.RowSource = "résultat"
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[A65000].End(xlUp).Offset(1, 0) = Me.ListBox1
[A65000].End(xlUp).Offset(0, 1) = Me.ListBox1.Column(1)
End Sub
JB
On 8 mar, 23:12, "EliotNaiss"
Private Sub B_ok_Click()
If Me.ListeMC <> "" Then
recherche
End If
End Sub
Private Sub ListeMC_Change()
recherche
End Sub
Sub recherche()
a = Split(Me.ListeMC, " ")
temp = "=ISNUMBER(SEARCH(""" & a(0) & """,B2))"
For i = 1 To UBound(a)
temp = temp & "*" & "ISNUMBER(SEARCH(""" & a(i) & """,B2))"
Next i
Sheets("Liste").[D2] = temp
Sheets("Liste").[A1:B10000].AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Sheets("Liste").[D1:D2], _
CopyToRange:=Sheets("Liste").[F1:G1]
On Error Resume Next
Me.ListBox1.RowSource = "résultat"
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[A65000].End(xlUp).Offset(1, 0) = Me.ListBox1
[A65000].End(xlUp).Offset(0, 1) = Me.ListBox1.Column(1)
End Sub
JB
On 9 mar, 13:55, "EliotNaiss"
encore une belle épine de sortie !!
c génial !!!!!
Eliot
"JB"
http://cjoint.com/?djoAIVE53v
Private Sub B_ok_Click()
If Me.ListeMC <> "" Then
recherche
End If
End Sub
Private Sub ListeMC_Change()
recherche
End Sub
Sub recherche()
a = Split(Me.ListeMC, " ")
temp = "=ISNUMBER(SEARCH(""" & a(0) & """,B2))"
For i = 1 To UBound(a)
temp = temp & "*" & "ISNUMBER(SEARCH(""" & a(i) & """,B2))"
Next i
Sheets("Liste").[D2] = temp
Sheets("Liste").[A1:B10000].AdvancedFilter Action:=xlFilterCopy,
CriteriaRange:=Sheets("Liste").[D1:D2], _
CopyToRange:=Sheets("Liste").[F1:G1]
On Error Resume Next
Me.ListBox1.RowSource = "résultat"
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
[A65000].End(xlUp).Offset(1, 0) = Me.ListBox1
[A65000].End(xlUp).Offset(0, 1) = Me.ListBox1.Column(1)
End Sub
JB
On 9 mar, 13:55, "EliotNaiss"