Bonjour,
j'implore votre aide pour résoudre un problème qui me bloque depuis plusieurs jours.
VBA Issues.xlsm
Dans le fichier en piéce jointe, je souhaiterais adapter cette formule en VBA (=IFERROR(VLOOKUP(INDEX('Reference Table PCDO'!$G:$G,MIN(IF(COUNTIF(Z2,"*" &'Reference Table PCDO'!$G:$G& "*")>0,ROW('Reference Table PCDO'!$G:$G),""))),'Reference Table PCDO'!$G:$H,2,0),"OTHERS")) ou du moins trouver un programme VBA rendant le meme resultat.
Mon fichier a 3 colonnes, la premiere (F) est la colonne dans lequel doit s'afficher le resultat de la macro, la seconde (G) contient le resultat de la formule que j'aimerais "traduire" en VBA et enfin la 3eme (Z) contient l'information qui doit me permettre de trouver le resultat (le nom du client ou de sa filliale).
Le problème est que dans cette 3eme colonne, le nom des clients/filliales est écrit de manière anarchique, ce qui fait qu'un meme client peut avoir plusieurs noms différents. Par exemple en ligne 8, le client "Athlon" peut s'appeler en colonne Z, "ATHLON CAR LEASE NEDERLAND B.V. 1054", "ATHLON CAR LEASE", "ATHLON CAR LEASE NEDERLAND BV", etc ...
Je dispose dans une feuille de calcul (Reference Table PCDO, colonne F a I) d'un tableau reprenant l'ensemble des noms des filliales ainsi que l'entreprise cliente a laquelle elles sont rattachés. (Par exemple ATHLON NL = ATHLON, JUSTLEASE = ATHLON, ATHLON = ATHLON)
Je demande de l'aide ici pour créer un calcul VBA faisant comprendre a Excel que si en colonne Z, il trouve "ATHLON CAR LEASE", il comprenne qu'il doit aller chercher la premiere occurence ou il est ecrit ATHLON dans les filliales de mon tableau Reference Table PCDO et qu'il me retourne ensuite le nom du client finale, ATHLON egalement dans l'exemple.
2eme exemple : Colonne Z = "JUSTLEASE NL NOORD" (ligne 64), Excel identifie "JUSTLEASE" dans "JUSTLEASE NL NOORD", Excel cherche le premier JUSTLEASE dans mon tableau Reference Table PCDO, le trouve en ligne 4, et me retourne ATHLON (nom du client final)
Je suis parvenu a le faire un Formule Excel (Celle partagé a debut du texte) mais impossible de l'utiliser, mon fichier original a 100 000 lignes et Excel n'arrive pas a faire le calcul pour les 100 000 lignes. Je pense cependant qu'un petit programme VBA pourrait etre plus léger.
Si quelqu'un sait comment faire je lui en serait infiniement reconnaissant.
Bien a vous,
Partager