RechercheV de 100 éléments

Bonjour,

je recherche une formule ou plutôt une requête VBA qui va pouvoir me permettre de faire à partir d'une liste A de 100 éléments la recherche de ces éléments dans une seconde liste B (de 40000 éléments) de ces 100 éléments de la liste A.

Les éléments sont des noms d'entreprises.

Les 100 éléments de la liste A peuvent se trouver au début, au milieu ou à la fin dans la liste B, cela dépend..

Aussi, la seconde liste peut comporter des chiffres, des espaces, des majuscules, des caractères spéciaux etc. en plus

Merci d'avance pour votre aide

Bonjour

en fait tu recherche 100 truc dans 40000 bidule

les trucs ressemblent à des machins avec des chiffres, des espaces, des majuscules, des caractères spéciaux etc

et une fois la correspondance trouvée on a trouvé

ça va être difficile de construire un VBA avec si peu d'informations

un petit fichier partiel de quelques ligne significatives avec ce que tu attends serai bienvenue

A plus sur le forum

Voici un fichier 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
10fichier-test-v3.xlsx (749.34 Ko)

Bonsoir

comme ce petit bout de fonction en PJ ?

la comparaison se fait sur des chaines en majuscule sans espace et avec remplacement des caractères suivant

Const avec As String = "Â#Ä$À%Ê'Ë(É)È*Î+Ï-Ì.Ô/Ö:Ò;Û\ÜÙÇ"

par contre je me suis aperçu qu'il existait dans la blacklist des caractères comme le ñ

Volcan Compaña Minera

qui ne sont pas testé, qu'il faudrait lister et ajouter dans les chaine de codage "avec" et "sans" si cette méthode te convient

A plus sur le forum

8comparaison.xlsm (788.31 Ko)

Bonjour,

merci pour ton retour.

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

le problème ici n'est pas une recherche en base de données mais une incohérence de base de données et là c'est ingérable parce qu'il n'y a pas de règle à appliquer

prenons 'General dynamics corporation' pour que ça match avec 'general dynamics' il ne faudrait prendre que les 2 premiers mots

mais à ce moment tu va me dire que ça ne match plus avec 'general dynamics corp.' donc il faudrait tester avec commence par 'general dynamics' mais dans ce cas ça va matcher si tu saisie supposons 'general dynamics inc' .............

si on test les 4 premiers mots qu'en est il de

'China Aerospace Science and Industry' et 'China Aerospace Science and Technology Corporation (CASC)'

A plus sur le forum

Rebonjour,

merci pour ton message.

Je conçois bien que c'est pas du tout possible d'appliquer une rechercheV ou autre formule pour trouver le genre d'infos dont j'ai besoin, mais je pensais que peutêtre un code serait capable de retourner un résultat proche de celui recherché hehe

Rechercher des sujets similaires à "recherchev 100 elements"