Bonjour,
J'ai une solution mais en 2 formules :
1ère formule pour le stock inital, par exemple en D3 :
=SI(RECHERCHEX(A3;$G$3:$G$8;$H$3:$H$8)>=C3;C3;C3-RECHERCHEX(A3;$G$3:$G$8;$H$3:$H$8))
2nd formule à faire glisser ensuite pour les stocks suivants (dans cet exemple en D4 :
=MIN(C4; MAX(0; RECHERCHEX(A4; $G$3:$G$4;$H$3:$H$4) - SOMME.SI($A$3:A3; A4; $D$3:D3)))
Il est possible de simplifier cela, en passant par des formules nommées.
EDIT : vous pouvez testez par vous même, j'ai fais un nouvel onglet dans votre fichier.