Recherche dans un contenu a partir d 'une liste

bonjour,

je ne sais pas comment formuler sous excel mon problème. j'ai bien bricolé un truc mais je pense qu'on peut faire plus simple et plus efficace.

J'ai un tableau, qui comprend dans une colonne une chaine de caractère , et dont notamment le nom d'un jeu et d 'autres caractères poluant.

Je voudrais extrait de cette colonne , seulement le nom du jeu, et le lier a un autre tableau comprend 2 colonnes , nom du jeu et editeur.
Dans le premier tableau , avec cette formule je pourrais créer une nouvelle colonne pour avoir le nom de l éditeur .

en image :

Premier tableau : Extrait avec la colonne, et la colonne ou se trouve actuellement la formule : =SI(ESTNUM(CHERCHE("back";C7));"Backlight";SI(ESTNUM(CHERCHE("toy";C7));"Toyland";0))

Colonne d'un tableauColonne à CREER Editeur
test backlightBacklight
voiture0
XXXX toyland 3 JrsToyland
melon0
ToytestToyland
Game0
Ubisoftubisoft
Back 4Backlight

tableau 2 : juste nom du jeu et editeur

GAMEEDITEUR
TOYLANDBACKLIGHT
ECLIPSEBACKLIGHT
GAMEAUTRE
ubisoftUBISOFT

je ne peux pas m amuser a imbriquer plusieurs cherche() dans ma formule il doit exister plus simple.

je vous remercie pour votre aide, et bonne année à tous.

Bonjour Werner75fr,

Si je comprend bien le tableau 2 est une base de donnée pour savoir quel éditeur correspond à quel jeu, et tu souhaiterais une formule dans le tableau 1 pour trouver l'éditeur qui correspond à un jeu ?

Bonjour,

Est-il possible d'avoir un fichier d'exemple ainsi que le contexte/besoin du fichier ? Je n'ai pas tout compris à propos du problème rencontré..

Cdt,

Killian

Bonjour,

Tu peux essayer quelque chose du genre :

=sierreur(recherchev(SI(ESTNUM(CHERCHE("back";C7));"Backlight";SI(ESTNUM(CHERCHE("toy";C7));"Toyland";0));tableau2;2;faux);"")

En remplaçant tableau2 par les coordonnées de ton tableau 2.

Mais si tu postais un fichier excel, ça serait quand même plus simple de t'aider...

Édit : Salut tout le monde. Ça c'est un tir groupé !

Merci pour vos premières réponses.

Effectivement avec un fichier c est plus parlant.

Je veux dans le tableau 1 créer une nouvelle colonne qui récupère la valeur 'Editeur' en fonction d'une partie de la chaine de caractères d'une cellule de la colonne Produit.

merci encore

2classeur1.xlsx (12.57 Ko)

Re,

C'est peut-être l'occasion de ressortir un vieux code que j'avais trouvé sur le net "La distance Levenshtein"

Je ne sais plus où je l'avais trouvé par contre...

La fonction personnalisé =Levenshtein(string1;string2) compare 2 chaines de caractères et renvoi un pourcentage de "ressemblance"

J'ai créé la fonction =BestLevenshtein(Source;Tableau;précision) qui renvoi la meilleure ressemblance dans un tableau.

J'ai mis le paramètre précision à 0% (0) ce qui veux dire que la formule trouvera toujours une correspondance même si elles sont très éloignées, tu peux augmenter cette valeur entre 0 et 100 pour que si les correspondances sont trop éloignées la fonction renvoi "NO MATCHES" ce qui évite d'avoir des fausses infos lorsque la BDD est incomplète !

Enfin, le résultat directement dans la fonction RECHERCHEV pour retrouver l'éditeur à partir du nom de jeu.

A+

EDIT: Vu la complexité du texte pour y rechercher seulement le nom du jeu, je te déconseille d'utiliser mon argument "Précision" laisses le à 0

Si toute fois tu veux essayer de l'utiliser il faudra changer la formule pour celle la a cause du rechercheV (Cellule F6 puis faire glisser)

=SIERREUR(RECHERCHEV(BestLevenshtein(A6;Tableau1[game];1);Tableau1;2;FAUX);BestLevenshtein(A6;Tableau1[game];1))

EDIT: j'ai retrouvé la source

https://stackoverflow.com/questions/4243036/levenshtein-distance-in-vba

Merci beaucoup, dans le tableau que j ai récupéré toute la colonne indique BACKLIGHT alors que ce n 'est pas le résultat attendu. Je n'ai pas tout compris dans ta formule. Mais merci quand même

Dans ton tableau qui contient le nom des jeux et des éditeurs, il n'y à que BACKLIGHT aucuns jeux ne correspond à UBISOFT donc logique qu'il n'y ait que BACKLIGHT

Comme j'ai dit dans mon précédent message, pour éviter les fausses infos tu régles la précision de la formule, mais le mieux c'est de vérifier que t'as BDD jeu -> éditeur soit complète (ce qui ne semble pas être le cas)

Est-ce mieux comme ça ?

pour un meilleur résultat je dois etre plus précis dans le tableau 2 mais ce n est pas encore parfait, plus le texte a rechercher est court, plus dur est la probabilité de le retrouver. J'ai ajouté un champ pour reprendre le % , et 25 semble etre le meilleur compromis.

Je n'avais jamais utilisé ma fonction sur des textes si complexe et on y voit clairement la limite.

j'ai essayé de rajouter une colonne pré filtré avec les termes redondant du style "Joueur" et "TARIF NORMAL"

Meilleure résultat mais à mon avis on ne pourras jamais affirmé à 100% que ça fonctionne, désolé de ne pas avoir mieux pour l'instant

merci @Gabin37, c est déjà mieux que je ne l espérais.

Rechercher des sujets similaires à "recherche contenu partir liste"