Recherche de mots clés
Polorskitoch
-
Polorskitoch -
Polorskitoch -
Bonjour,
J'ai une base de données dans laquelle il y a une colonne contenant des phrases. J'aimerais savoir s'il est possible de repérer un mot clé dans ces phrases et d'écrire dans la colonne d'après un mot résumant le propos.
Par exemple si la phrase contient le mot "virus", il faudrait que dans la colonne suivante le mot "biologique" apparaisse dans la ligne associée.
Je ne sais pas si je m'exprime clairement, n'hésitez pas à me demander des précisions.
Bien cordialement,
J'ai une base de données dans laquelle il y a une colonne contenant des phrases. J'aimerais savoir s'il est possible de repérer un mot clé dans ces phrases et d'écrire dans la colonne d'après un mot résumant le propos.
Par exemple si la phrase contient le mot "virus", il faudrait que dans la colonne suivante le mot "biologique" apparaisse dans la ligne associée.
Je ne sais pas si je m'exprime clairement, n'hésitez pas à me demander des précisions.
Bien cordialement,
A voir également:
- Recherche par mot clé excel
- Clé usb non détectée - Guide
- Clé windows 8 - Guide
- Liste déroulante excel - Guide
- Excel trier par ordre croissant chiffre - Guide
- Clé usb - Accueil - Stockage
7 réponses
Bonjour
Une fonction
=NB.SI(A1;"*Virus*");"Biologique";"") ferait l'affaire mais pour être concret, il faudrait savoir combien de référence vous comptez utiliser.
Le plus simple étant d'empiler (raisonnablement) les items NB.SI, soit par ex:
=SI(NB.SI(A1;"*Virus*";"_Biologique";"")&NB.SI(A1;"*réf2*);"_text2";"")&NB.SI(A1;"*Réf3");"_Text3;"").....
qui vous ressortira à la suite les textes correspondants si plusieurs réf sont trouvés dans le même texte
Si vous voulez ressortir les textes sur plusieurs lignes dans la cellule résultat (à formater avec retour à la ligne, remplacer le signe & entre les items par:
&CAR(10)&
Attention aux signes, surtout "* et*"
crdlmnt
Une fonction
=NB.SI(A1;"*Virus*");"Biologique";"") ferait l'affaire mais pour être concret, il faudrait savoir combien de référence vous comptez utiliser.
Le plus simple étant d'empiler (raisonnablement) les items NB.SI, soit par ex:
=SI(NB.SI(A1;"*Virus*";"_Biologique";"")&NB.SI(A1;"*réf2*);"_text2";"")&NB.SI(A1;"*Réf3");"_Text3;"").....
qui vous ressortira à la suite les textes correspondants si plusieurs réf sont trouvés dans le même texte
Si vous voulez ressortir les textes sur plusieurs lignes dans la cellule résultat (à formater avec retour à la ligne, remplacer le signe & entre les items par:
&CAR(10)&
Attention aux signes, surtout "* et*"
crdlmnt
Bonjour,
Si beaucoup de mots-clés éventuellement on pourrait faire une fonction personnalisée en vba.
Dans ce cas un fichier de travail serait le bienvenu.
Déposer le fichier xls sur cjoint.com et coller ici le lien fourni.
eric
Si beaucoup de mots-clés éventuellement on pourrait faire une fonction personnalisée en vba.
Dans ce cas un fichier de travail serait le bienvenu.
Déposer le fichier xls sur cjoint.com et coller ici le lien fourni.
eric
Merci beaucoup!
Je vais tester vos propositions.
Par contre je ne peux pas envoyer de fichier de travail, c'est du confidentiel :/
Je vais tester vos propositions.
Par contre je ne peux pas envoyer de fichier de travail, c'est du confidentiel :/
Et oui il y aura un grand nombre de mots clés, surtout que la liste n'est pas fixe, on en rajoutera de temps en temps :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je confirme pour la fonction personnalisée en VBA^^ Je me suis amusé à utiliser la formule que vous m'avez conseillée ( et qui fonctionne à merveille), mais j'ai déjà atteint la limite de taille de formule!
Il faudrait que ça puisse marcher pour un nombre très élevé de mots clés.
Pour info, le fichier .xls contient 5000 lignes
Il faudrait que ça puisse marcher pour un nombre très élevé de mots clés.
Pour info, le fichier .xls contient 5000 lignes
Si je manque d'imagination, toi tu n'en manques pas ;-)
Je verrais ça ce soir...
1) 5000 lignes ça risque d'être un peu lent avec une fonction personnalisée. Ca sera sans doute plutôt une macro qui traitera toute la feuille. Rien contre ou tu veux absolument une fonction personnalisée ?
2) Si plusieurs mots-clés que fait-on ?
- on ne garde que le 1er ?
- ou on les liste avec un séparateur ?
eric
Je verrais ça ce soir...
1) 5000 lignes ça risque d'être un peu lent avec une fonction personnalisée. Ca sera sans doute plutôt une macro qui traitera toute la feuille. Rien contre ou tu veux absolument une fonction personnalisée ?
2) Si plusieurs mots-clés que fait-on ?
- on ne garde que le 1er ?
- ou on les liste avec un séparateur ?
eric
Ahah, et encore j'ai enlevé les idée trop débiles^^
Oui une macro serait plus intéressante :) Par contre il faudrait qu'elle ne traite que les colonnes concernées (dans le vrai fichier, il y a pas mal de colonnes)
Là j'apprend le VBA sur le site du zero, ça avance pas mal :)
Théoriquement il ne devrait pas y avoir deux mots clés... Par contre dans la colonne cause, il ne faut pas faire figurer le mot clé mais le mot associé à ce mot clé.
Admettons que dans la phrase il y est le mot "coupure" il faudrait voir apparaître le mot "couteau dans la colonne des causes. :)
Merci encore Eric!
Oui une macro serait plus intéressante :) Par contre il faudrait qu'elle ne traite que les colonnes concernées (dans le vrai fichier, il y a pas mal de colonnes)
Là j'apprend le VBA sur le site du zero, ça avance pas mal :)
Théoriquement il ne devrait pas y avoir deux mots clés... Par contre dans la colonne cause, il ne faut pas faire figurer le mot clé mais le mot associé à ce mot clé.
Admettons que dans la phrase il y est le mot "coupure" il faudrait voir apparaître le mot "couteau dans la colonne des causes. :)
Merci encore Eric!
Par contre il faudrait qu'elle ne traite que les colonnes concernées
Ah oui ? Ca serait bien de dire lesquelles s'il y en a plusieurs. C'était le but du fichier de travail...
Si tu peux préciser ou refaire un fichier correspond à la réalité si tu ne veux pas avoir à reprendre toute la macro.
Faut-il prévoir de tester sans les accents ? Ca ralentira d'autant plus...
eric
Ah oui ? Ca serait bien de dire lesquelles s'il y en a plusieurs. C'était le but du fichier de travail...
Si tu peux préciser ou refaire un fichier correspond à la réalité si tu ne veux pas avoir à reprendre toute la macro.
Faut-il prévoir de tester sans les accents ? Ca ralentira d'autant plus...
eric
Bonjour
Je pense a un truc comme ca
Sub Recherche()
Application.ScreenUpdating = False
Feuil1.Select
For T = 2 To Feuil2.Range("A" & Rows.Count).End(xlUp).Row
Cherche = Feuil2.Range("A" & T).Value
For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
Set VariableAdresse = Range("A" & L).Find(what:=Cherche)
If Not VariableAdresse Is Nothing Then
Range("B" & L).Value = Cherche
Range("C" & L).Value = Feuil2.Range("B" & T).Value
End If
Next
Set VariableAdresse = Nothing
Next
Application.ScreenUpdating = True
Range("A1").Select
End Sub
A+
Maurice
Je pense a un truc comme ca
Sub Recherche()
Application.ScreenUpdating = False
Feuil1.Select
For T = 2 To Feuil2.Range("A" & Rows.Count).End(xlUp).Row
Cherche = Feuil2.Range("A" & T).Value
For L = 2 To Range("A" & Rows.Count).End(xlUp).Row
Set VariableAdresse = Range("A" & L).Find(what:=Cherche)
If Not VariableAdresse Is Nothing Then
Range("B" & L).Value = Cherche
Range("C" & L).Value = Feuil2.Range("B" & T).Value
End If
Next
Set VariableAdresse = Nothing
Next
Application.ScreenUpdating = True
Range("A1").Select
End Sub
A+
Maurice