Problème formule Recherchev / indirect

Bonjour à toutes et tous,

Je viens vers vous car j'ai un problème sur une formule dans mon fichier. En effet cette formule marche correctement en temps normal mais depuis la modification de certaines données, celle-ci est bloquée dans une boucle. Après avoir bien regardé la formule je ne vois pas pourquoi celle-ci ne fonctionne plus correctement.

Cette formule ci-dessous me permet suivant ma liste déroulante de mettre les vendeurs associés à la ville. Tout fonctionne bien comme indiqué plus haut mais depuis qu'un vendeur identique se retrouve sur deux villes, la formule a comme un blocage et je n'arrive pas à l'expliquer puisque normalement il y a un tri sur le nom de la ville.

=SIERREUR(RECHERCHEV(LIB_CTRE;INDIRECT("G"&EQUIV("~"&C12;$H$1:$H$31;0)+1&":H350");2;FAUX);"")

Je vous joins le fichier correspondant afin d'y voir plus clair.

8pb-formule.xlsx (13.15 Ko)

Je voudrais donc savoir s'il est possible de modifier ma formule afin de ne plus avoir ce problème.

Je vous en remercie par avance.

Bonjour,

Votre formule n'est pas adaptée, je crois, pour une RECHERCHEV multioccurence. Ci-contre une formule qui correspond au besoin à mettre en C12, à valider en matricielle via CTRL + SHIFT + ENTRER puis tirer :

=SI(LIGNES($1:1)<=NB.SI($G$2:$G$31;LIB_CTRE);INDEX($H$2:$H$31;PETITE.VALEUR(SI($G$2:$G$31=LIB_CTRE;LIGNE(INDIRECT("1:"&LIGNES($G$2:$G$31))));LIGNES($1:1)));"")

Cdlt,

Bonjour,

Si Excel 365 :

C12 : =TRIER(UNIQUE(FILTRE(H2:H31;G2:G31=LIB_CTRE)))

Cdlt.

Bonjour à vous deux,

Tout d'abord merci pour vos contributions respectives.

Jean-Eric malheureusement, je ne suis pas sur Office 365 et ne peux donc utiliser ce code mais merci quand même.

Ergotamine, je vous remercie pour cette formule qui marche parfaitement. Néanmoins serait-il possible d'avoir quelques explications sur le cheminement de celle-ci car je vous l'avoue, si un collègue me demande des précisions je crains ne pas savoir lui répondre correctement.

Cordialement,

Bonjour,

Les formules matricielles sont assez complexes à appréhender car elles travaillent sous forme de matrices. Je tente tout de même une explication :

=NB.SI($G$2:$G$31;LIB_CTRE) : Comptabilise le nombre de fois qu'apparaît le centre dans la plage G2:G31
=SI(LIGNES($1:1)<=NB.SI($G$2:$G$31;LIB_CTRE) : Renvoi un résultat tant que le nombre d’occurrences n'est pas attteind
=PETITE.VALEUR(SI($G$2:$G$31=LIB_CTRE;LIGNE(INDIRECT("1:"&LIGNES($G$2:$G$31))));LIGNES($1:1)) : Ligne sert à renvoyer la xème occurrence (ici la première) dès lors que le centre est rencontré sur la plage G2:G31 alors je trouve le numéro de ligne de la plage G2:G31
=INDEX($H$2:$H$31;PETITE.VALEUR(SI($G$2:$G$31=LIB_CTRE;LIGNE(INDIRECT("1:"&LIGNES($G$2:$G$31))));LIGNES($1:1))) : A partir du numéro de ligne trouvé ci-dessus, me renvoie la valeur à l'intersection entre la plage H2:H31 et le numéro de ligne retrouvé

Cdlt,

Rechercher des sujets similaires à "probleme formule recherchev indirect"