Recherche de mots clés

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,

A voir également:

7 réponses

Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 443
 
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
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
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
0
Polorskitoch
 
Merci beaucoup!

Je vais tester vos propositions.

Par contre je ne peux pas envoyer de fichier de travail, c'est du confidentiel :/
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Ok, mais je manque d'imagination...
Tu mets 1 dizaine de lignes bidons (qui ressemblent au réel) sur une feuille et une liste de 5 mots-clés dans une autre.

eric
0
Polorskitoch
 
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 :/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polorskitoch
 
http://cjoint.com/?0BfmjSYpMrV



Encore merci!!!!
0
Polorskitoch
 
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
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
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
0
Polorskitoch
 
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!
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
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
0
Polorskitoch
 
Le fichier original est en anglais donc il n'y a pas d'accent :) au pire vire les tous.

Je te refais de suite un fichier
0
Polorskitoch
 
Cadeau! http://cjoint.com/?3BfrPJ2425I

PS: je t'ai viré les accents
0
foo
 
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
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
ok.
Je te laisse finir avec lui alors, inutile de faire 2 trucs.

A+
eric
0
Polorskitoch
 
Merci à vous deux :) Je vais essayer de comprendre de code. Je reviens vers vous dans peu de temps.

Cdt.
0