Utilisation d'une fonction vba dans une formule matricielle : #valeur

vador

XLDnaute Nouveau
Bonjour,

j'utilise une formule matricielle pour dans un tableau pour un calcul un peu complexe.
Pour me donner plus de flexibilité, j'ai voulu créer une fonction vba pour ce calcul, et l'insérer dans ma formule, seulement, cela me donne un #valeur.

Ma table ressemble à ceci :
Code:
charge   date   date 
estimée  début fin
1         1/1/2009 15/1/2009
2         3/1/2009 12/1/2009
3         8/1/2009 25/1/2009
avec une cellule qui contient une date nommée "curDate", par exemple 13/1/2009

ma fonction (dans un module) qui retourne un nombre
Code:
Public Function chargeADate(curDate As Date, workload As Long, startDate As Date, endDate As Date)

...

End Function

Si j'écris ma formule matricielle simplifiée, ça marche :
Code:
{=SOMME(SI(G$79<l_date_deb_previ;0;SI(G$79<l_date_fin_previ;(G$79-l_date_deb_previ)/(l_date_fin_previ-l_date_deb_previ)*l_charge_reest;l_charge_reest)))}
(les l_quelquechose sont des plages nommées)

(je n'ai pas réussi à l'écrire en SOMMEPROD, au passage)

Lorsque je teste ma fonction sur chacune des lignes de mon tableau, j'ai bien la bonne valeur, et je peux sommer sans soucis.

et ma fonction matricielle :
Code:
{=SOMME(chargeAdate(curDate;l_charge_reest;l_date_deb_previ;l_date_fin_previ))}
me retourne #VALEUR

Je pourrais transformer ma fonction pour prendre des plages, mais c'est moins souple dans mon utilisation, donc, j'appelle à l'aide :)

Merci d'avance,
--
Damien
 

vador

XLDnaute Nouveau
Re : Utilisation d'une fonction vba dans une formule matricielle : #valeur

Bon, j'ai l'impression que cela ne passionne pas les foules :(

Pour résoudre mon problème, j'ai créé une fonction qui prend des range en entrée, et je boucle en appelant mon autre fonction, ce qui me donne bien le même résultat.

J'aurais quand même bien aimé connaître les limitation pour les formules matricielles (mes recherches google m'ont laissé penser que certaines fonctions sont acceptables en matriciel et pas d'autres, mais je n'ai rien trouvé de plus précis).

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG