Bonjour à toutes et tous,
J'ai besoin de votre aide car j'ai du mal à résoudre entièrement un problème sur Excel
J'ai 2 feuilles : Comptes de Référence et Table de conversion.
Dans Table de conversion, J'ai un tableau dont la colonne A contient une liste de numéros de compte sur 8 caractères
Dans Comptes de Référence, j'ai un tableau avec des numéro en colonne A et un libellé correspondant en B
Je souhaite qu'une colonne du tableau de la feuille table de conversion indique la référence "racine" par rapport à la colonne A du tableau de la feuille comptes de références
exemples :
les comptes internes 1200000 et 1290000 doivent respectivement avoir la référence 120 et 129 car celles-ci sont dans mon tableau de comptes de référence
les comptes internes 32211101 , 32211201, 32211401, 32211601 ne peuvent avoir que la correspondance 3221 car c'est la seule référence racine qui existe dans la feuille comptes de références.
J'ai trouvé une formule matricielle mais celle-ci est erronée INDEX(REFERENCE[NUMERO];EQUIV(1;NB.SI([@[COMPTE INTERNE]];REFERENCE[NUMERO]&"*");0)) car elle me sort la première référence trouvée par exemple 12 pour 1200000 et 1290000
Vos explications ne sont pas claires et les résultats attendus (colonne B) ne sont pas bien justes.
Mais bon, voyez cette formule matricielle en D3 de la 2ème feuille :
Code:
=SIERREUR(INDEX('comptes de Référence '!A:A;GRANDE.VALEUR(SI(NB.SI(A3;'comptes de Référence '!A$2:A$935&"*");LIGNE('comptes de Référence '!A$2:A$935));1));"")
A valider par Ctrl+Maj+Entrée.
En 1ère feuille le tableau doit être trié sur la colonne A en ordre croissant.
Vos explications ne sont pas claires et les résultats attendus (colonne B) ne sont pas bien justes.
Mais bon, voyez cette formule matricielle en D3 de la 2ème feuille :
Code:
=SIERREUR(INDEX('comptes de Référence '!A:A;GRANDE.VALEUR(SI(NB.SI(A3;'comptes de Référence '!A$2:A$935&"*");LIGNE('comptes de Référence '!A$2:A$935));1));"")
A valider par Ctrl+Maj+Entrée.
En 1ère feuille le tableau doit être trié sur la colonne A en ordre croissant.
Vos explications ne sont pas claires et les résultats attendus (colonne B) ne sont pas bien justes.
Mais bon, voyez cette formule matricielle en D3 de la 2ème feuille :
Code:
=SIERREUR(INDEX('comptes de Référence '!A:A;GRANDE.VALEUR(SI(NB.SI(A3;'comptes de Référence '!A$2:A$935&"*");LIGNE('comptes de Référence '!A$2:A$935));1));"")
A valider par Ctrl+Maj+Entrée.
En 1ère feuille le tableau doit être trié sur la colonne A en ordre croissant.
Désolé pour mes explications pas très claires, mon cerveau était en ébullition à force de chercher une solution à ce problème.
En tout cas, je te remercie infiniment pour ta réponse car celle-ci apporte une solution à laquelle je n'aurais pas pensé (j'étais parti sur des GAUCHE ou MAX) mais pas GRANDE.VALEUR que j'avais totalement oublié
J'essaierai d'être plus compréhensible lors de mon prochain post, merci encore pour l'aide rapide et efficace apportée