Bonjour,
Feuille Départ.
Une colonne supplémentaire A a été créée, avec la formule :
En A2 : =SI(SOMMEPROD((D$2:D2=D2)*(E$2:E2=E2)*(F$2:F2=F2)*(G$2:G2=G2))=1;LIGNE();"")
La fonction SOMMEPROD compte le nombre de lignes qui sont égales ou supérieures et dont les libellés sont identiques à la ligne testée.
D$2 ne s'incrémente pas en le copiant vers le bas (reste donc toujours D$2), tandis que D2 s'incrémente bien et devient D3, D4, ...
Si le nombre de lignes avec libellés identiques est égal à 1 (donc pas de doublons), la formule renvoie le numéro de la ligne, sinon rien.
Ainsi dans la colonne A on obtient les numéros de lignes des premières occurences de libellés identiques, en d'autre mots on ne renvoie pas les numéros de ligne des doublons.
Dans la formule LIGNE() peut être remplacé par =MAX(A$1:A1)+1, avec un autre type de numérotation, mais cela ne modofie en rien la suite de la procédure.
Feuille Résultat souhaité
En B2 : =SI(NBVAL(B$1:B1)>NB(Depart!$A:$A);"";RECHERCHEV(PETITE.VALEUR(Depart!$A:$A;NBVAL(B$1:B1));Depart!$A:D;COLONNE()+2;0))
NBVAL(B$1:B1)>NB(Depart!$A:$A) compare le nombre de valeurs texte de la colonne B (situés au-dessus de la cellule contenant le formule) et le nombre de valeurs numériques de la colonne A de la feuille Départ.
Si le nombre est supérieur, la formule ne renvoie rien, sinon elle aurait renvoyé un message d'erreur.
RECHERCHEV(PETITE.VALEUR(Depart!$A:$A;NBVAL(B$1:B1));Depart!$A:D;COLONNE()+2;0))
La formule recherche la xème petite valeur dans le la colonne A feuille Départ.
Elle droit retrouver succésivement la 1ère plus petite, puis la seconde, ...
En comptant le nombre de valeurs texte situés au-desus de la formume en colonne B on obtient succésivement 1, 2, 3, ...
La formule demande de renvoyer la valeur qui se trouve dans la plage A:D et dans la 4ème colonne.
Pour que ce 4 s'incrémente en copiant la formule vers le droite, on se réfère au numéro de la colonne.
La colonne B vaut 2, donc la 4 vaut colonne()+2
Cette formule peut ainsi être copiée vers le bas et vers la droite.
En E2 : =SOMMEPROD((libellé=$B2)*(type=$C2)*(compo=$D2)*(bt=$E2)*quant)
Les colonnes B, C, D et E de la feuille Départ on été nommées (voir menu Insertion / Nom / Définir).
La fonction SOMMEPROD additionne les quantités des lignes qui répondent aux conditions de la formule.
Cette formule peut également être copiée vers le bas et vers la droite.
Je ne sais pas si j'ai été clair, mais si il y a encore un problème, n'hésite pas.