credit-direct/assets/js/exp/calculs.js
2025-12-18 09:44:42 +01:00

482 lines
25 KiB
JavaScript

// Module des fonctions de calcul de crédit
// On suppose que cd_js et map_values sont passés en paramètre ou importés dans main.js
export function calculate_pat(cd_js, selected_capital, selected_duration = '') {
let annual_rate, min_duration, max_duration, duree_in_range = true, display_observation_pat = false,
add_message = '';
min_duration = 24;
if (1500 <= parseInt(selected_capital) && parseInt(selected_capital) <= 2500) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._1500_a_2500;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._2501_a_3700;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5000)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._3701_a_5000;
max_duration = 30;
} else if ((5000 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._5001_a_5600;
max_duration = 36;
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._5601_a_7500;
max_duration = 42;
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
max_duration = 48;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 48) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._7501_a_10000_48_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._7501_a_10000_24_a_42_mois;
}
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
if (selected_duration < 48) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._10001_a_15000_24_a_42_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers._10001_a_15000_48_a_60_mois;
}
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 20000)) {
if (24 <= parseInt(selected_duration) && parseInt(selected_duration) <= 42) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_15001_24_a_42_mois;
} else {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_15001_48_a_84_mois;
}
max_duration = 84;
} else if((20000 < parseInt(selected_capital) && parseInt(selected_capital) <= 75001)) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_20001_a_75000;
max_duration = 120;
} else if((75001 <= parseInt(selected_capital))) {
annual_rate = cd_js.groups.pret_personnel__tous_motifs__achats_divers.a_partir_de_75000;
display_observation_pat = true;
max_duration = 240;
selected_duration = 240;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_ph(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 5;
max_duration = 30;
annual_rate = cd_js.groups.credit_hypothecaire_social.de_10_a_30_ans;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
selected_duration = selected_duration * 12;
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_am(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
for (var i = 10; i <= 30; i++) {
if (parseInt(selected_duration) == i) {
annual_rate = cd_js.groups.credit_hypothecaire_classique['des_' + i + '_ans'];
}
}
min_duration = 10;
max_duration = 30;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
selected_duration = selected_duration * 12;
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_mono_rate_bt_10_30(cd_js, map_values, selected_loan_type, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration, add_message;
var duree_in_range = true;
min_duration = 10;
max_duration = 30;
function findRate(type) {
if (cd_js.groups[type] && cd_js.groups[type].de_10_a_30_ans) {
return cd_js.groups[type].de_10_a_30_ans;
}
return null;
}
var possible_types = [
selected_loan_type,
map_values[selected_loan_type],
selected_loan_type.toLowerCase(),
selected_loan_type.replace(/_/g, ''),
selected_loan_type.replace(/^credit_/, '')
];
possible_types = possible_types.filter(type => type);
for (var type of possible_types) {
var rate = findRate(type);
if (rate !== null) {
annual_rate = rate;
break;
}
}
if (annual_rate === undefined) {
return [min_duration, max_duration, selected_duration * 12, false, 0, 'Type de crédit non disponible'];
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
} else {
duree_in_range = false;
selected_duration = max_duration;
}
selected_duration = selected_duration * 12;
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_fin_neuve(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration, add_message;
var duree_in_range = true;
min_duration = 24;
if (2500 == parseInt(selected_capital)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._3701_a_5600_24_a_36_mois;
max_duration = 36;
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._5601_a_7500_24_a_42_mois;
max_duration = 42;
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._7501_a_10000_24_a_48_mois;
max_duration = 48;
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
annual_rate = cd_js.groups.financement_vehicule_neuf.a_partir_de_10001_24_a_60_mois;
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 100000)) {
max_duration = 84;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 72) {
annual_rate = cd_js.groups.financement_vehicule_neuf.a_partir_de_15001_24_a_60_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_neuf.a_partir_de_15001_72_a_84_mois;
}
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_pao_m_3(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if (2500 == parseInt(selected_capital)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
annual_rate = cd_js.groups.financement_vehicule_neuf._3701_a_5600_24_a_36_mois;
max_duration = 36;
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._5601_a_7500_24_a_42_mois;
max_duration = 42;
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans._7501_a_10000_24_a_48_mois;
max_duration = 48;
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans.a_partir_de_10001_24_a_60_mois;
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 100000)) {
max_duration = 84;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 60) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans.a_partir_de_15001_24_a_60_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_moins_de_3_ans.a_partir_de_15001_72_a_84_mois;
}
}
if (!(min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_pao_p_3(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if (parseInt(selected_capital) <= 2500) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5000)) {
max_duration = 36;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._3701_a_5000_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._3701_a_5000_24_a_30_mois;
}
} else if ((5000 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
max_duration = 36;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5001_a_5600_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5001_a_5600_24_a_30_mois;
}
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
max_duration = 42;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5601_a_7500_36_mois;
} else if (selected_duration == 42) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5601_a_7500_42_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._5601_a_7500_24_a_30_mois;
}
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
max_duration = 48;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._7501_a_10000_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._7501_a_10000_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans._7501_a_10000_42_a_48_mois;
}
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 100000)) {
max_duration = 60;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans.a_partir_de_10001_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans.a_partir_de_10001_36_mois;
} else {
annual_rate = cd_js.groups.financement_vehicule_doccasion_plus_de_3_ans.a_partir_de_10001_42_a_48_mois;
}
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message]
}
export function calculate_mobilhome(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if(selected_capital <= 10000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.max_10000;
max_duration = 48;
} else if(selected_capital > 10000 && selected_capital <= 15000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.de_10001_a_15000;
max_duration = 60;
} else if(selected_capital > 15000 && selected_capital <= 37000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.de_15001_a_37000;
max_duration = 120;
} else if(selected_capital > 37000 && selected_capital <= 100000){
annual_rate = cd_js.groups.financement_mobilhome_et_caravane_de_moins_de_3_ans.de_37001_a_100000;
max_duration = 144;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_regroupement_de_credit(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if(selected_capital >= 5000 && selected_capital <= 5600){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_5000_a_5600;
max_duration = 36;
} else if(selected_capital > 5600 && selected_capital <= 7500){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_5601_a_7500;
max_duration = 42;
} else if(selected_capital > 7500 && selected_capital <= 10000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_7501_a_10000;
max_duration = 48;
} else if(selected_capital > 10000 && selected_capital <= 15000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_10001_a_15000;
max_duration = 60;
} else if(selected_capital > 15000 && selected_capital <= 20000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_15001_a_20000;
max_duration = 84;
} else if(selected_capital > 20000 && selected_capital <= 60000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_20001_a_60000;
max_duration = 120;
} else if(selected_capital > 60000 && selected_capital <= 75000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_60001_a_75000;
max_duration = 120;
} else if(selected_capital > 75000 && selected_capital <= 100000){
annual_rate = cd_js.groups.regroupement_de_credit__rachats_de_credits.de_75001_a_100000;
max_duration = 144;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_frais_notaire(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
annual_rate = cd_js.groups.financement_frais_de_notaire.de_2500_a_15000_24_a_60_mois;
max_duration = 60;
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 40000)) {
annual_rate = cd_js.groups.financement_frais_de_notaire.de_15001_a_40000_24_a_120_mois;
max_duration = 120;
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}
export function calculate_but_immo(cd_js, selected_capital, selected_duration) {
var annual_rate, min_duration, max_duration;
var duree_in_range = true;
var add_message = '';
min_duration = 24;
if (2500 == parseInt(selected_capital)) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._2500_24_mois;
max_duration = 24;
} else if ((2500 < parseInt(selected_capital) && parseInt(selected_capital) <= 3700)) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._2501_a_3700_24_a_30_mois;
max_duration = 30;
} else if ((3700 < parseInt(selected_capital) && parseInt(selected_capital) <= 5600)) {
max_duration = 36;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._3701_a_5600_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._3701_a_5600_24_a_30_mois;
}
} else if ((5600 < parseInt(selected_capital) && parseInt(selected_capital) <= 7500)) {
max_duration = 42;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration == 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._5601_a_7500_42_mois;
} else if (selected_duration == 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._3701_a_5600_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._5601_a_7500_24_a_30_mois;
}
} else if ((7500 < parseInt(selected_capital) && parseInt(selected_capital) <= 10000)) {
max_duration = 48;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._7501_a_10000_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._7501_a_10000_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._7501_a_10000_42_a_48_mois;
}
} else if ((10000 < parseInt(selected_capital) && parseInt(selected_capital) <= 15000)) {
max_duration = 60;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._10001_a_15000_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._10001_a_15000_36_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._10001_a_15000_42_a_60_mois;
}
} else if ((15000 < parseInt(selected_capital) && parseInt(selected_capital) <= 20000)) {
max_duration = 84;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_15001_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._a_partir_de_15001_36_mois;
} else if (selected_duration < 72) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie._a_partir_de_15001_42_a_60_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_15001_72_a_84_mois;
}
} else if ((20000) < parseInt(selected_capital)) {
max_duration = 120;
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
if (selected_duration < 36) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_24_a_30_mois;
} else if (selected_duration < 42) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_36_mois;
} else if (selected_duration < 72) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_42_a_60_mois;
} else if (selected_duration < 96) {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_72_a_84_mois;
} else {
annual_rate = cd_js.groups.credit_travaux__renovation__energie.a_partir_de_20001_96_a_120_mois;
}
}
if ((min_duration <= parseInt(selected_duration) && parseInt(selected_duration) <= max_duration)) {} else {
duree_in_range = false;
selected_duration = max_duration;
}
return [min_duration, max_duration, selected_duration, duree_in_range, annual_rate, add_message];
}