-
1 pièce(s) jointe(s)
Aide formule VBA
Bonjour a tous, je suis débutant avec Excel aussi j’espère que vous pourrez m’éclairer. Voila ce que je souhaiterai faire:
Mon tableau répertorie des propriétés par lignes, pour chacune d'entre elle : la date du bail en vigueur et le prix du loyer. Je voudrais simplement étaler pour chaque propriété le prix du loyers sur chaque mois en fonction de la date du bail.
le tableau se présente de la manière suivante:
(je joins le fichier excel pour que ce soit encore plus claire)
G = début du bail
H = fin du bail
I = le prix du loyer par mois
L à BS = Janvier 2012 à Déc 2016
Sur chaque ligne, le loyer devrait donc s’étaler dans la période Janv 12/Déc 16 (entre L et BS) en fonction du bail.
Nb: parfois le bail ne commence ou ne se termine pas au début ou a la fin du mois, dans ce cas il faudrait que le prix du loyer s'exprime au prorata.
Il ya t-il un moyen d'y parvenir par le biais d'une formule VBA ou autre? Si oui pouvez vous me renseigner?
Merci d'avance pour votre aide :).
Arnaud.
-
Code:
=SI(ET(MOIS($G2)=MOIS(L$1);ANNEE($G2)=ANNEE(L$1));($I2/JOUR(DATE(ANNEE($G2);MOIS($G2)+1;1)-1))*(JOUR(DATE(ANNEE($G2);MOIS($G2)+1;1)-1)-JOUR($G2));SI(ET(MOIS($H2)=MOIS(L$1);ANNEE($H2)=ANNEE(L$1));($I2/JOUR(DATE(ANNEE($H2);MOIS($H2)+1;1)-1))*JOUR($H2);SI(ET($G2<L$1;$H2>L$1);$I2;"")))
Ecris en L2 et tire tes formules..
Par contre tes calculs de prorata et tes repartitions de loyers sont completement fausses...
Les années bisextiles ne sont pas prises en compte... Février a 28 mois tous les ans le prorata de février des années bisextiles sera faux
-
merci pour ton aide,
tu l'as teste sur le doc la formule? quand je l'ecris en L, rien ne se passe
-
1 pièce(s) jointe(s)
Tu sais tirer une formule ?...
Tu te mets sur le coin inférieur droit de L2 après avoir tapé la formule ta souris va devenir une petite croix et tu la traines jusqu'où tu veux en haut comme en bas.
-
Ok je viens de voir ton fichier joint.. Merci beacoup.
-
Tu vois mon fichier attaché ? ... De rien.
-
oui je viens de le voir :mrgreen:
-
Et bien tu peux comparer avec tes calculs et tu verras que c'était comme ça que je travaillais quand on m'a renvoyé ;)
-
aide formule VBA
Bonjour,
Engue Engue : je me demande comment vous faites toi et certains autres membres pour fabriquer sans erreur des formules interminables. Cela restera toujours pour moi un mystère.
Ces formules sont sans nul doute comprises de son auteur qui sait ce qu'il fait mais souvent indéchiffrable pour le lecteur. Ce qui pose un problème de maintenance.
Aleger02 : je me demande si ces mois en cascades constituent bien une solution optimum.
A quoi sert-il de répéter 12 mois durant le même loyer ?
ne serait-il pas préférable de mettre :
- une colonne "date réévaluation"
- une colonne " nouv loyer"
- une colonne "total annuel"
- une colonne "loyers cumulés"
?
cordialement,
-
Rien de plus simple.
Décomposer sa pensée
Code:
=SI(ET(MOIS($G2)=MOIS(L$1);ANNEE($G2)=ANNEE(L$1));($I2/JOUR(DATE(ANNEE($G2);MOIS($G2)+1;1)-1))*(JOUR(DATE(ANNEE($G2);MOIS($G2)+1;1)-1)-JOUR($G2));
Si le mois et l'année de début de bail sont égaux à la date de la colonne en question alors, on divise le loyer par le nombre de jours du mois en question puis on le multiplie par le nombre de jours courrus dans le mois en cours (Prorata)
Sinon:
Code:
SI(ET(MOIS($H2)=MOIS(L$1);ANNEE($H2)=ANNEE(L$1));($I2/JOUR(DATE(ANNEE($H2);MOIS($H2)+1;1)-1))*JOUR($H2);
Si le mois de fin est le même que le mois de la colonne en question.... on proratise...
Sinon:
Code:
SI(ET($G2<L$1;$H2>L$1);$I2;"")))
Si la date est comprise entre date de début et date de fin et les mois ne correspondent pas on met la totalité du loyer...
Sinon on ne met rien.
J'ai du mettre environ 1 minute à y réfléchir et peut être une autre à la tapper sans faire d'erreurs de parenthèses.
Fais en à longueur de journées et tu verras que tu y arriveras aussi bien.