Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

recherche par mots clés

4 réponses
Avatar
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

4 réponses

Avatar
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" wrote:
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


Avatar
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" a écrit dans le message de news:

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" wrote:
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


Avatar
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" wrote:
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" a écrit dans le message de news:

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" wrote:



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 -



Avatar
EliotNaiss
Encore merci JB,
encore une belle épine de sortie !!
c génial !!!!!
Eliot
"JB" a écrit dans le message de news:

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" wrote:
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" a écrit dans le message de news:

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" wrote:



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 -