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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4331761
Bonjour,

Recherche par mots clés du type ET:

http://boisgontierj.free.fr/fichiers/RechercheET.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"
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 co des
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


EliotNaiss
Le #4331511
Bonjour et gd merci JB,
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/fichiers/RechercheET.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"
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


JB
Le #4331371
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"
Bonjour et gd merci JB,
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'utilisat eur
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/fichiers/RechercheET.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"


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- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



EliotNaiss
Le #4331301
Encore merci JB,
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"
Bonjour et gd merci JB,
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/fichiers/RechercheET.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"


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- Masquer le texte des messages précédents -


- Afficher le texte des messages précédents -



Publicité
Poster une réponse
Anonyme