Microsoft 365 RESOLU - Remontée valeur d'une ligne sur 2 critères en colonne

  • Initiateur de la discussion Initiateur de la discussion chris6999
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chris6999

XLDnaute Impliqué
Bonsoir le FORUM

Je ne sais pas si c'est la fatigue mais je ne parviens plus à trouver la formule magique pour faire l'opération suivante :

J'ai une grille de départ avec un premier critère colonne A puis des critères suivants colonnes C-D-E
Je souhaiterais faire remonter la valeur de la colonne P de ma base de recherche si les deux conditions sont respectées.
C'est à dire la valeur P de la ligne où je retrouve mon premier critère (A=G) et les suivants (C4= K) (D4=K) (E4=K).

Souvent quand je pose par écrit ma problématique l'étincelle jaillit mais là il ne se passe rien..
Je fais donc appel à vos lumières.

J'espère que quelqu'un a une solution fonction ou macro éventuellement si j'arrive à l'adapter à mon projet réel.

Je mets enpj un fichier test
 

Pièces jointes

Bonjour chris6999,

Si je vous ai bien compris, essayez la formule suivante en C5, à étendre vers la droite et vers le bas tant que nécessaire :

Code:
=SI(ESTERREUR(EQUIV($B5;$G$5:$G$100;0)+4);"";SI(INDIRECT("K"&EQUIV($B5;$G$5:$G$100;0)+4;1)*1=C$4;INDIRECT("P"&EQUIV($B5;$G$5:$G$100;0)+4;1);""))
😉
 
Bonjour chris6999,

Si je vous ai bien compris, essayez la formule suivante en C5, à étendre vers la droite et vers le bas tant que nécessaire :

Code:
=SI(ESTERREUR(EQUIV($B5;$G$5:$G$100;0)+4);"";SI(INDIRECT("K"&EQUIV($B5;$G$5:$G$100;0)+4;1)*1=C$4;INDIRECT("P"&EQUIV($B5;$G$5:$G$100;0)+4;1);""))
😉

Après test et sauf s'il y a un truc qui m'échappe..
Votre formule fonctionne sur la colonne C mais quand je la tire à droite il ne se passe rien sur les colonnes D et E.
Il y a peut-être des éléments à modifier selon la colonne à renvoyer?
Je cherche mais je ne vois pas quoi

Au plaisir de vous lire
Cordialement
 
Bonsoir @ tous,
sous Excel pour Microsoft 365, en C5 :
VB:
=RECHERCHEX($B5:$B36;FILTRE($G5:$G100;--$K5:$K100=C4);FILTRE($P5:$P100;--$K5:$K100=C4);"")
@ tirer vers la droite


Cordialement
Après test je pense que ta proposition fonctionne.
Il va falloir que je progresse sur les rechercheX car là franchement c'est assez bluffant!
Je ne connaissais pas la fonction FILTRE à laquelle tu l'as associée.
Je vais voir si c'est aussi performant dans mon projet réel.

Merci encore et bonne journée
 
Après test je pense que ta proposition fonctionne.
Il va falloir que je progresse sur les rechercheX car là franchement c'est assez bluffant!
Je ne connaissais pas la fonction FILTRE à laquelle tu l'as associée.
Je vais voir si c'est aussi performant dans mon projet réel.

Merci encore et bonne journée

Bonjour

Je ne comprends pas car si la proposition de R@chid fonctionne sur mon fichier test elle ne me remonte que des #VALEURS sur mon projet réel. La seule différence c'est que la base de données est sur un autre onglet.
Je mets un deuxième fichier test en PJ où je teste le formule proposée.
J'ai peut-être commis une erreur?

Pouvez-vous jeter un œil et me dire ce qui coince?
Bonne journée
 

Pièces jointes

Re,
tu n'as pas besoin des --() pour convertir les années en valeurs numériques, puisqu'elles sont stockées sous forme de texte dans les deux tableaux.
Mais il faut toujours veiller à ce que les années soient stockées sous format nombre.


En H5 :
VB:
=RECHERCHEX($B5:$B16;FILTRE('Bases des comptes listés'!$A$3:$A$146;'Bases des comptes listés'!$E$3:$E$146=H4);FILTRE('Bases des comptes listés'!$J$3:$J$146;'Bases des comptes listés'!$E$3:$E$146=H4);"")
@ tirer vers la droite


Cordialement
 
Re,
tu n'as pas besoin des --() pour convertir les années en valeurs numériques, puisqu'elles sont stockées sous forme de texte dans les deux tableaux.
Mais il faut toujours veiller à ce que les années soient stockées sous format nombre.


En H5 :
VB:
=RECHERCHEX($B5:$B16;FILTRE('Bases des comptes listés'!$A$3:$A$146;'Bases des comptes listés'!$E$3:$E$146=H4);FILTRE('Bases des comptes listés'!$J$3:$J$146;'Bases des comptes listés'!$E$3:$E$146=H4);"")
@ tirer vers la droite


Cordialement
Bonjour

Après de multiples tests sur mon fichier réel je confirme que ta proposition fonctionne.
Tu m'as permis de boucler mon projet et je t'en suis infiniment reconnaissante.
Merci encore

Bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour