XL 2016 Récupérer la première valeur non-vide au dessus correspondant à un critère

Cotriana

XLDnaute Nouveau
Bonjour,

Je m'inscris sur ce forum car j'ai fortement besoin de votre aide concernant mon fichier.

L'objectif de mon fichier est de simuler les ruptures en bacs lorsque nous décidons de planifier une référence.
Lorsque l'utilisateur renseigne un numéro de semaine en colonne B. La cellule à côté indique le nombre de séries de bacs restantes.

Dans la liste de références, il y en a plusieurs qui se répètent et ont donc le même nombre de bacs à disposition.

Le problème est que lorsque deux références sont l'une après l'autre le compteur de bacs marche bien mais lorsque il y a une réf (ou plusieurs) non-planifié entre les deux, le compteur ne marche plus et reprend le nombre de bacs totales
Je souhaite que lorsque l'on planifie une référence le nombre de bacs disponibles est soustrait de 1. Mais, lorsque toutes les réf ne sont pas planifiés, il faut que la dernière réf qu'on souhaite planifier aille chercher le nombre disponibles au niveau de la dernière réf planifié.

Ci-joint, vous trouverez le fichier correspondant simplifié, car le fichier d'origine est composé de milliers de lignes.
J'ai commencé à élaborer une fonction SI complexe mais je pense qu'il faudrait que je remplace la rechercheV par une fonction INDEX/EQUIV, mais je n'y arrive pas (visible en feuille 2)

N'hésitez pas à m'envoyer un mail si vous avez besoin de renseignements (antoine.cotrian73@gmail.com)

En espérant que vous pouvez m'aider.
 

Pièces jointes

  • Fichier pb.xlsx
    886.6 KB · Affichages: 15
Solution
Bonsoir à tous, bonsoir @Cotriana
Ton post date un peu mais j'y réponds au cas où il serait toujours d'actualité.

J'ai créé 2 tableaux structurés "_tb_Plan" pour le tableau avec la planif et "_tb_Bac" pour le nombre total de séries par réf.

Pour les diminutions de séries de bacs, j'ai tenu compte de l'ordre de la planif (S1 avant S2) et de la position dans le tableau si la planif est identique.

La formule est un peu longue mais elle fonctionne :
Enrichi (BBcode):
=RECHERCHEV([@Reference];_Tb_Bac;2;FAUX)
-(
  SOMMEPROD(([Reference]=[@Reference])*([S de début planifié]<[@[S de début planifié]])*([S de début planifié]<>0))
 +SOMMEPROD(([Reference]=[@Reference])*([S de début planifié]=[@[S de début planifié]])*([S de début...

AtTheOne

XLDnaute Impliqué
Supporter XLD
Bonsoir à tous, bonsoir @Cotriana
Ton post date un peu mais j'y réponds au cas où il serait toujours d'actualité.

J'ai créé 2 tableaux structurés "_tb_Plan" pour le tableau avec la planif et "_tb_Bac" pour le nombre total de séries par réf.

Pour les diminutions de séries de bacs, j'ai tenu compte de l'ordre de la planif (S1 avant S2) et de la position dans le tableau si la planif est identique.

La formule est un peu longue mais elle fonctionne :
Enrichi (BBcode):
=RECHERCHEV([@Reference];_Tb_Bac;2;FAUX)
-(
  SOMMEPROD(([Reference]=[@Reference])*([S de début planifié]<[@[S de début planifié]])*([S de début planifié]<>0))
 +SOMMEPROD(([Reference]=[@Reference])*([S de début planifié]=[@[S de début planifié]])*([S de début planifié]<>"")*(LIGNE([Reference])<LIGNE([@Reference])))
 )
-N([@[S de début planifié]]<>"")

Voir les annotations dans le fichier joint

Amicalement
Alain
 

Pièces jointes

  • Fichier pb.xlsx
    888.8 KB · Affichages: 2

Statistiques des forums

Discussions
312 029
Messages
2 084 775
Membres
102 662
dernier inscrit
seb60240