Formule ou code VBA

Salut

J'espere une urgence aide SVP

Je veux une formule ou code vba pour qu’à chaque nouvelle fiche de paiement l'ancien solde doit être 0,00 est si il y a une deuxième fiche de paiement comme dans l'exemple de la fiche d'engagement N° 0001 elle doit avoir le Montant Opération de la 1er fiche de paiement comme Ancien solde est si il y a une troisième fiche de paiement elle doit avoir le Montant d'opération de la deuxième fiche de paiement comme Ancien solde est ainsi de suite, voir le fichier ci-joint.

Merci pour votre compréhension

9scorpionoir.xlsx (18.71 Ko)

Bonjour,

Je vous propose de tester la formule suivante en E16 :

=SI(NB.SI($D$15:D15;D16)=0;0;MAX(SI($D$15:D15=D16;$F$15:F15;"")))

Attention : C'est une formule matricielle !

La formule matricielle doit être ensuite tirée vers la bas

Bonjour JFL est merci pour votre temp

Votre formule Marche trés bien, mais aprés quelques lignes elle renvoie les même resultat. Je croix qu'il y a une erreur quelque part Merci de la revoire encore une fois.

Je rattache le fichier avec les resultats

Merci encore une fois

8scorpionoir-2.xlsx (20.32 Ko)

Bonjour,

La formule a été "reconstruite" !

A mettre en E16 et à tirer vers le bas :

=SI(NB.SI($D$15:D15;D16)=0;0;INDIRECT(ADRESSE(SOMMEPROD(MAX(($D$15:D15=D16)*(LIGNE($D$15:D15))));6)))

Attention c'est toujours une formule matricielle !

13scorpionoir-2.xlsx (20.08 Ko)

Merci infiniment JFL pour votre aide la nouvelle formule marche à merveille

Vous m'avez vraiment sauvé

Bonjour

JFL a écrit :
=SI(NB.SI($D$15:D15;D16)=0;0;INDIRECT(ADRESSE(SOMMEPROD(MAX(($D$15:D15=D16)*(LIGNE($D$15:D15))));6)))

Attention c'est toujours une formule matricielle !

La première partie de la formule (NB.SI) vise à déterminer si la fiche d'engagement a déjà été utilisée. Si la réponse est négative alors le résultat sera égal à zéro.

Si la réponse est positive (la fiche est déjà dans le tableau) alors il faut déterminer le dernier montant de l'opération (colonne 6). La formule nécessite un ordre chronologique croissant des opérations.

Le fonction SOMMEPROD va déterminer la dernière ligne correspondant à la fiche d'engagement concernée.

La fonction ADRESSE va nous fournir, avec la numéro de ligne trouvé et la colonne, 6 l'adresse de la cellule contenant le montant de l'opération.

Et enfin.... la fonction INDIRECT nous donnera la valeur de la cellule trouvée.

salut

trés bonne explication je comprend maintenant

Merci encore une fois

Rechercher des sujets similaires à "formule code vba"