Recherche par mots clés et ajout d'un code spécifique au mot clé trouvé

Bonjour,

j'ai vraiment besoin d'aide SVP

je souhaite réaliser une application excel sur la base de formule ou en VBA

qui me permettrait d'attribuer un code à une colonne d'un tableau sur la base de mots clés enregistré dans un autre tableau.

Une recherche des mots clé dans une colonne "LIBELLE" devra être réalisé puis chaque fois qu'un mot clé est trouvé dans le libellé, le code correspondant à la ligne des mots clé sera attribué dans une colonne en face du libellé contenant le mot clé...

Etant loin d'être bon en formule et encore moins en VBA, j'ai bien essayé pendant plusieurs jours de trouver la solution pour me rendre finalement compte que j'étais très limité.

Je joins ce fichier excel dénommé "test" pour que vous ayez une meilleure idée du problème.

je vous remercie d'avance pour votre aide.

273test.xlsx (10.77 Ko)

Bonjour,

=SOMMEPROD(ESTNUM(CHERCHE(KEYWORD!$C$3:$E$7;C4))*KEYWORD!$B$3:$B$7)

Il convient que tu tapes dans les cellules vides le caractère 160 (Alt+0160), il s'agit de l'espace insécable ne figurant pas logiquement dans tes chaînes, et qui demeurera invisible. Sans cela ces cellules renverront VRAI et le code serait systématiquement augmenté de 15 !

Dans le cas où rien n'est trouvé, le code renvoyé est 0.

Cordialement.

Bonjour le forum, bonjour Maréchal

vous êtes trop fort !

Je n'y suis pas arrivé !

@ bientôt

LouReeD

Wow!!! merci beaucoup MFERRAND!

j'ai par contre constaté qu'il y avait quelques anomalies que j'ai mis en couleur de remplissage jaune dans ce nouveau fichier.

Mais je suis déjà très satisfait de la formule.

255test-2.xlsx (12.41 Ko)

C'est que là il trouve à la fois EFFET et EFF, ou CHEQUE et CHEQ, ça double !

La solution la plus simple est de supprimer EFFET et CHEQUE qui seront reconnus par EFF et CHEQ, sans doubler.

(Ne pas omettre Alt+0160 à la place).

Cordialement.

Salut LouReed.

Bonjour MFERRAND et LOUREED,

Ok c'est noté. Merci beaucoup pour votre aide

à bientôt.

Ho mais moi je n'ai rien fait si ce n'est de pointer mon bout de nez !

@ bientôt

LouReeD

bonjour

une contribution sans avoir à bidouiller le tablo des refs

=SOMMEPROD((ESTNUM(TROUVE(KEYWORD!C$3:E$7;TABLEAU!C4))*(KEYWORD!C$3:E$7<>""))*(KEYWORD!B$3:B$7))

cordialement

tulipe_04 ! Toujours aussi fort !

@ bientôt

LouReeD

tulipe_04 ! Toujours aussi fort !

@ bientôt

LouReeD

tu sais ......... a part jouer du SOMMEPROD ou du " avec 3 doigts"

un SOMMEPROD simple, voir avec une condition = ou autre , pour moi ça va, mais là il y a du TROUVE, ESTNUM, sans parler des formules avec INDEX et EQUIV avec un peu de saupoudrage de GRANDE.VALEUR, LIGNE et autre MAX MIN etc...

Dans une boucle simple j'arrive à m'en sortir, quand ça ressemble à ça :

{=SIERREUR(INDEX(noms;EQUIV(PETITE.VALEUR(SI(EQUIV(SI(NB.SI(noms;"<="&noms)=0;"";NB.SI(noms;"<="&noms));SI(NB.SI(noms;"<="&noms)=0;"";NB.SI(noms;"<="&noms));0)=LIGNE($1:$10);NB.SI(noms;"<="&noms);"");LIGNE(A1)+1);SI(EQUIV(SI(NB.SI(noms;"<="&noms)=0;"";NB.SI(noms;"<="&noms));SI(NB.SI(noms;"<="&noms)=0;"";NB.SI(noms;"<="&noms));0)=LIGNE($1:$10);NB.SI(noms;"<="&noms);"");0));"")}

là je craque, trop d'imbrications que je ne saisie plus !

@ bientôt

LouReeD

Bonjour tout le monde,

désolé de vous sollicité de nouveau mais je viens de me rendre compte qu'il me sera difficile d'adapter les mots clés pour qu'il n'y ait pas de doublons dans le tableau des mots clés... En effet je travaille généralement sur des milliers de lignes d'opérations et souvent je suis obligé de combiner des mots pour pouvoir traiter une opération.

Auriez vous donc SVP un moyen de traiter les doublons pour que la formule évite d'additionner les codes, lors d'occurrences de mots clés.

Je vous remercie.

Au passage merci Tulip_4 pour ta contribution.

10test-doublons.xlsx (15.15 Ko)

Bonjour,

j'ai un souci similaire. J'ai essayé la formule décrite dans le fil de la discussion :

=SOMMEPROD(ESTNUM(TROUVE(cod_sentiment!$A$2:A$123;A2)*(cod_sentiment!B$2:B$123)))

Mais ça fonctionne pas.

Je vous joins mon fichier, dans l'espoir que vous puissiez m'aider

Bonjour à tous,

pour éviter les doublons tu peux aussi laisser ta liste complète, et ajouter un espace final aux mots, ainsi qu'aux phrases.

Seuls les mots complets seront comptabilisés.

eric

Bonjour Eriic,

J'ai essayé et ça n'a pas résolu le problème mais peut être que je me suis mal pris...

Peux-tu ajouter le fichier excel stp pour que je puisse voir...

Merci.

Bonjour,

voilà

eric

28test-2.xlsx (13.42 Ko)

Bonjour,

Je te remercie éric, j'ai testé ta solution et ça marche correctement pour les mots clés qui figurent dans le tableau.

Seulement j'ai essayé de le tester sur un plus grand nombre de mots avec pour intention que chaque frais soit distingué (En effet "frais de Transfert international" et "Transfert international" par exemple sont 2 opération différentes donc avec un code différents, de même que pour l'opération "EFFET" et "FRAIS SUR EFFET") et ça ne marche plus.

Désolé de revenir avec d'autres problématiques ainsi mais je me rend compte que si la formule ou le programme VBA (je suis preneur) arrive à distinguer les opérations entre elles et les frais de chaque opération pour attribuer les codes l'objectif sera atteint.

Merci pour ton aide éric et à tous.

Oui, là tu dépasses les possibilités des formules.

Une fonction personnalisée alors.

Pour l'alléger je ne construis la liste des mots clés qu'à l'ouverture et à la désactivation de la feuille 'KEYWORD'.

Tu as donc aussi du code dans les module ThisWorkbook et KEYWORD.

Théoriquement toute modif dans KEYWORD doit être prise en compte dans les formules quand on quitte cette feuille (avec le .CalculateFull).

En cas de doute tu peux forcer le recalcul avec Ctrl+Alt+F9, voire même avec Ctrl+Maj+Alt+F9 (avec reconstruction des dépendances).

Et il faut mettre l'expression complète dans les mots clés, pas l'éclater sur la ligne et avoir 4 fois le mot clé FRAIS comme tu avais mis.

A tester, je n'ai contrôlé qu'à minima...

eric

PS : j'ai oublié de t'expliquer le principe :

les expressions sont triées par taille décroissante et sont parcourues dans cet ordre.

Arrêt à la 1ère concordance, une plus longue est donc privilégiée sur les plus courtes.

57test-doublons.xlsm (26.42 Ko)

Bonjour Eriiic,

Je tiens sincèrement à te dire merci car je crois pouvoir automatiser 90% de mon travail avec ce programme. Après quelques essais je n'ai trouvé aucune anomalie jusqu'à présent... Ton programme me convient parfaitement je m'adapterai pour le reste.

Je remercie aussi tous ceux qui ont pris de leur temps pour m'aider et nous conduire à une solution.

pour mon premier poste sur ce site je suis complètement satisfait.

Rechercher des sujets similaires à "recherche mots cles ajout code specifique mot cle trouve"