Requête ou formule pour rechercher des noms dans une longue liste

Bonjour,

pourriez vous m'aider sur un sujet?!

J'ai Excel 2016 sur mon ordi, à titre d'info.

Voir pièce jointe pour un exemple.

J'ai une blacklist de noms d'entreprises et d'actifs en colonne A.

J'ai 5 fonds: A, B, C, D et E indiqués en colonne F.

Ces fonds contiennent tous des actifs: des noms d'entreprises, des noms de pays, d'obligations, de titres financiers etc. qui sont indiqués en colonne G.

L'objectif est de 'matcher' la blacklist avec ma liste de noms des fonds.

Je souhaite savoir si mes actifs de fonds (colonne G) sont présents dans la blacklist (colonne A).

Il s'agirait d'avoir une colonne plus loin indiquant si l'actif est présent dans la blacklist et si oui, renvoyer le nom de l'entreprise/de l'actif de la blacklist. (sinon renvoyer non par exemple).

Dans la requête/le code, il faut écarter l'orthographe et d'autres spécificités des noms pour pouvoir garantir un matching correcte, c'est à dire:

  • ne pas prendre en compte les espaces, ni
  • les accents,
  • les majuscules/minuscules
  • les tirets et caractères spéciaux

Attention, beaucoup d'actifs se ressemblent et contiennent par exemple 'bank' dans leur noms mais ne sont pas forcément dans la blacklist..

Si vous avez des propositions pour un code VBA à appliquer, je suis preneuse!!

Ce serait super aussi si avec le code, on pourrait me donner une petite explication du code, cad expliquer à quoi servent les différentes lignes de code!

Merci pour votre aide, bonne journée

15fichier-test-v3.xlsx (749.34 Ko)

Bonjour juliak,

Voyez en colonnes P & Q la liste des correspondances dédoublonnée

Il faudra remettre en colonne H la formule :

=SI(ESTNUM(EQUIV(G2;A:A;0));EQUIV(G2;A:A;0);"")

J'ai été obligé de la supprimer pour que le fichier passe.

Bonjour,

j'ai rentré la formule, ce message dans la case s'affiche: #NAME?

Aussi les colonne P et Q affichent toujours deux noms d'actifs différents.. Ce ne sont donc pas des matchings.. je ne comprends pas où est l'information qui me dis si mes actifs sont oui ou non sur la blacklist

Merci d'avance

Bonjour juliak,

Le fichier que je vous ai fait parvenir contenait la formule en colonne H jusqu'à la ligne 200, il fallait compléter cette colonne jusqu'à la ligne 42101.

#NAME s'affiche quand le tableur n'arrive pas à interpréter une fonction soit parce qu'il ne la connais pas soit parce qu'elle contient une erreur.

A mon avis votre tableur n'est pas configuré en français (FR), parce que les fonctions rudimentaires utilisées sont interprétées correctement par tous les tableurs configuré en français.

FR

=SI(ESTNUM(EQUIV(G2;A:A;0));EQUIV(G2;A:A;0);"")

EN

=IF(ISNUMBER(MATCH(G2,A:A,0)),MATCH(G2,A:A,0),"")

Vérifiez configuration et corrigez les formules en conséquence.

La colonne Q ne nous apporte rien d'utile, les blacklistés sont en colonne P

Bonjour,

merci pour ton retour.

J'ai mis la formule en anglais, les #NUM! s'affichent quand même.

Si les résultats sont en colonne P, le code ne fonctionne malheureusement pas, quand je rentre par exemple 'general dynamics' dans ma liste d'actifs, il ne le relève pas comme blacklisté, comme il est écrit de la manière suivante dans la blacklist: 'General dynamics corporation'.

Donc il y a un problème avec le Matching.. Y a t il un moyen d'y remédier?

Merci d'avance

Bonjour juliak,

quand je rentre par exemple 'general dynamics' dans ma liste d'actifs

En quelle cellule, de quel onglet, de quel fichier?

Cette entité existe déjà en A53, elle est dans la blacklist, vous voulez chercher les blacklistés dans la blacklist?

Je souhaite savoir si mes actifs de fonds (colonne G) sont présents dans la blacklist (colonne A)

C'est bien ça?

les #NUM! s'affichent quand même.

En quelle cellule?

Rebonjour,

merci pour ton message!

#NUM! ne s'affiche plus ne colonne H mais dans les colonnes J, K et L quand je descend les formules en dessous de la ligne 200.

"Cette entité existe déjà en A53, elle est dans la blacklist, vous voulez chercher les blacklistés dans la blacklist?"

Je crois que je n'étais peut-être pas très claire. Il s'agit de déterminer si oui ou non les noms de la liste en colonne A sont des entreprises blacklistés, sachant que la liste des entreprises blacklistés sont en colonne G. En d'autres termes, si mes éléments de la colonne G sont présents dans la blacklist colonne A.

Donc par exemple, si en colonne G j'ai une entreprise s'appelant 'general dynamic' (sachant que dans la colonne A des entreprises blacklistés on retrouve 'general dynamic corporation'), je devrais avoir dans une autre colonne l'info suivante: entreprise présente dans la blacklist, ou simplement le nom de l'entreprise en question qui s'affiche pour indiquer qu'il est dans la blacklist.

Merci d'avance

Rechercher des sujets similaires à "requete formule rechercher noms longue liste"