Bonjour, mieux vaut un classeur exemple ci-joint qu'un long discours. Voici ma problématique :
J'ai récupérer une liste de catégories dont les données sont fournies sur 2 colonnes (ID et Nom). Une troisième colonne fournie l'ID de la catégorie parente. Je souhaite créer une 4ème colonne (indiquée en rouge dans le fichier joint). Cette 4ème colonne contiendrait le nom correspondant à l'ID de la catégorie parente (nom correspondant à la 3ème colonne).
Structure de mon classeur
-----------------------------------------------
ID - Nom - Parent ID - Parent Nom
----------------------------------------------
1 - Home - 0 - Aucun parent
2 - Cat deux - 1 - ??? (devrait être Home)
3 - Categorie trois - 1 - ??? (devrait être Home)
4 - Cat quatre - 6 - ??? (devrait être Catégorie six)
5 - Catégorie cinq - 4 - ??? (devrait être Cat quatre)
6 - Catégorie six - 2 - ??? (devrait être Cat deux)
etc...
-----------------------------------------------
Du coup pour trouver comment remplir la colonne Parent Nom la formule doit récupérer l'ID Parent de la ligne qu'il faut rechercher dans la colonne ID et trouver le nom associé à cette ID qui se trouve dans la colonne Nom du coup. Je ne sais pas si c'est possible.
EQUIV(C3;A:A)) retourne le numéro de la ligne correspondant à la valeur de la cellule C3 dans la colonne A
A partir de là je peux retourner la valeur recherchée dans la colonne B grâce au numéro récupéré. Ce qui donne bien INDIRECT("B"&EQUIV(C3;A:A)) au final. Quel résultat bizarre avez vous en retour ? car de mon côté ça fonctionne comme espéré.
Oups! Sorry, j'avais mis votre formule in extenso en D2, et donc tout était décalé d'une ligne.
Donc c'est ok. Autant pour moi.
Par contre vous pouvez rajouter le sierreur pour éviter l'affichage des #N/A :
Oups! Sorry, j'avais mis votre formule in extenso en D2, et donc tout était décalé d'une ligne.
Donc c'est ok. Autant pour moi.
Par contre vous pouvez rajouter le sierreur pour éviter l'affichage des #N/A :