Re,
Je te retourne ton fichier avec les formules. Je vais continuer l'explication un peu plus tard, si tu me le permets, car cela nécessite un petit peu de temps. D'ici là, essaye d'analyser les 3 fonctions une par une(SI, LIGNE et MIN ) si tu peux. Je pense que tu comprendras facilement l'utilisation.
Fichier Joint
Explication de la formule :
=SI($A$1-($A$2*(LIGNE()-1))>0;"1 palette de " & MIN($A$2;$A$1-($A$2*(LIGNE()-1))) & " cartons";"")
Logique de cette formule :
On fait un test par la formule SI pour sonder si à chaque ligne avant affichage est-ce qu'il reste un nombre de cartons > 0. C'est fait par la première partie (Test logique)suivante de la formule SI :
$A$1-($A$2*(LIGNE()-1))>0
Soit A1 le nombre total des cartons et A2 le nombre de cartons par palette, le code LIGNE()-1 donne un nombre calculé de la ligne active moins 1(0 à la ligne 1, 1 à la ligne 2 etc).
Prenons un exemple concrèt :
En A1 : 1050 cartons
En A2 : 100 cartons/palette
Dans la cellule F1, donc à la ligne 1, cette partie (1050-(100*(1-1)) = 1050 étant > 0, donnera la valeur VRAI. Par conséquent, on affichera la phrase prévue par la 2è partie (Valeur si Vrai) de la formule SI. Toujours avec ces valeurs, dans la cellule F12, donc à la ligne 12, cette partie (1050-(100*(12-1)) = -50 étant < 0, donnera la valeur FAUX. Par conséquent, on affichera "" (néant) qui est la 3è partie (Valeur si Faux) de la formule SI.
L'affichage à effectuer est prévu par la 2è partie suivante de la formule SI :
"1 palette de " & MIN($A$2;$A$1-($A$2*(LIGNE()-1))) & " cartons"
C'est une phrase intercalée par une formule MIN qui prend le minimum des 2 valeurs. Prenons toujours nos valeurs d'exemple et calculons cette valeur prise par la formule MIN dans la cellule F1.
MIN(100;1050-(100*(1-1))) <=> MIN(100;1050) => 100 d'où la phrase suivante :
1 palette de 100 cartons
La même phrase en F11 devient : MIN(100;1050-(100*(11-1))) <=> MIN(100;50) => 50 d'où la phrase suivante :
1 palette de 50 cartons