Re Bonjour Philpastaga, le Forum
Quelques explications complémentaires
Ta dernière question portant sur l'utilisation d'un tableau, alors j'ai incorporé un tableau vb. J'ai utilisé pour cela un variant, Tab_en_Cours.
Tab_en_Cours = Tab_Taux.Value, Tab_Taux étant un tableau de cellules.
J'aurai pu travailler de la même façon uniquement avec Tab_Taux mais il y a un avantage à travailler de cette façon. Le code est plus rapide avec un tableau vb qu'avec un tableau de cellule, hors la rapidité est importante pour une fonction. Pour les arguments, ils sont réduits au minimum et il est important de bien les spécifier pour les formules, celles ci pouvant être utilisées de nombreuses fois et augmentant d'autant l'espace mémoire necessaire si elles sont mal calibrées. J'ai séparé le calcul taux_journalier et taux prorata uniquement pour des facilités de lecture, on peut l'écrire en une seule ligne mais c'est moins lisible.
Taux_Prorata = ((DateValue(Date_Taux) - DateValue(Tab_en_Cours(Date_Anterieure, 1))) * (Tab_en_Cours(Date_Posterieure, 3) - Tab_en_Cours(Date_Anterieure, 3)) / (DateValue(Tab_en_Cours(Date_Posterieure, 1)) - DateValue(Tab_en_Cours(Date_Anterieure, 1)))) + Tab_en_Cours(Date_Anterieure, 3)
Je passe également toujours par des datevalue pour mes calculs de date même si cela surcharge un peu le code, cela me permet de récupérer toute date au même format d'ou qu'elle vienne et m'évite des bugs de formats.
Sur ce, A+