Bonjour,
Je conseillerais de mettre les résultats dans un champ de requête au lieu d'un champ calculé dans une table (c'est une possibilité dans les nouvelles versions d'Access, mais bon...).
Ainsi, la première formule
=SI(P2="P";0;ARRONDI.SUP(SI(J2="TRIMESTRIELLE";(JOURS360(I2;Q$2)/90);JOURS360(I2;Q$2)/30);0)).
avec les paramètres de correspondance des champs suivants
P2 = [DATE DERNIER LOYER]
J2 = [PERIODICITE]
I2 = [Prise Effet]
Q2 = Date() : Date du jour
donnerait :
= IIF([DATE DERNIER LOYER]="P";0;MyRound(IIF([PERIODICITE]="TRIMESTRIELLE";DateEcart([Prise Effet];Date())/90;DateEcart([Prise Effet];Date())/30);0))
avec les références pour les fonctions MyRound ici qui remplace la fonction Arrondi.Sup d'Excel, ainsi que la fonction DateEcart expliquée ici en lieu et place de JOURS360.
La fonction SI sous Excel est remplacée par IIF sous Access.
J'espère que cela vous permettra de transformer les autres formules.
Cordialement,
EDIT 1 : la deuxième formule :
=SI(SI(P2="P";"";A2-B2)<0;0;SI(P2="2";"";A2-B2)).
A2 = [nb échéances contrat]
B2 = [nb echeances ecoulées]
= IIF(IIF([DATE DERNIER LOYER]="P";"";[nb échéances contrat]-[nb echeances ecoulées])<0;0;IIF([DATE DERNIER LOYER]="2";"";[nb échéances contrat]-[nb echeances ecoulées]))
- la troisième formule :
=SI(P2="P";0;D2*L2).
D2 = [Nb echeances restantes]
L2 = [Loyer]
= IIF([DATE DERNIER LOYER]="P";0;[Nb echeances restantes]*[Loyer])
Partager