Bonjour,
Je ne parle pas français, donc les informations ci‑dessous sont traduites par une IA. La formule que j’ai créée pour votre cas est en Excel anglais, et sa conversion en français a également été faite via l’IA. J’espère que la formule a été fournie correctement.
=LET(
N°Comm; B2:B143;
N°CDE; T2:T259;
uB; UNIQUE(N°Comm);
uT; UNIQUE(N°CDE);
seqB; SEQUENCE(; NB(uB); MIN(uB));
seqT; SEQUENCE(; NB(uT); MIN(uT));
missB; TRANSPOSE(FILTRE(seqB; NON(BYCOL(uB = seqB; OU))));
missT; TRANSPOSE(FILTRE(seqT; NON(BYCOL(uT = seqT; OU))));
tc; TOCOL(missT / NON(missT = TRANSPOSE(missB)); 3);
rep; REPT(tc & ",0,"; NB(tc));
parsed; --FRACTIONNER.TEXTE(JOINDRE.TEXTE(";";; rep); ","; ";"; VRAI);
flat; TOCOL(parsed; 3);
wr; WRAPROWS(flat; 2);
d; TRIER(VSTACK(wr; HSTACK(N°CDE; V2:V259)));
ARRONDI(K2:K143 - BYROW(N°Comm; LAMBDA(a; SOMME(TOCOL(DROP(d;; 1) / (a = TAKE(d;; 1)); 3)))); 2)
)
Étant donné que, d’après mes expériences précédentes, la traduction des formules utilisant les nouvelles fonctions d’Excel en français n’a pas toujours été entièrement exacte, vous pouvez télécharger mon fichier via le lien ci‑dessous.
https://1drv.ms/x/c/511e91319deee91f/IQC2H9_OO07-RaSI1rzVNyafAbbXT7Mllr3KLvDBEe04jSQ?e=FHecld
La formule est dynamique et elle est appliquée dans la cellule W2. Elle fonctionne sous Excel 365.
Merci de m’informer si la formule a fonctionné pour vous ou non. Si elle fonctionne, je vous serais reconnaissant(e) de marquer ma réponse comme Réponse valide et, si possible, de laisser un vote positif, car cela permettra d’aider d’autres utilisateurs du forum.
IlirU