Je sais qu'il y a un moyen de savoir si la fonction est appel=E9 par le
dialogue d'insertion de fonction.

Il s'agit en fait de faire un truc du genre :

xloper hwnd =3D {0.0, xltypeNil};
if (Excel4(xlGetHwnd, &hwnd, 0))
{
return false;
}

s_fnwizEnumStruct es =3D {FALSE, hwnd.val.w};
EnumWindows((WNDENUMPROC)fnwiz_enum_proc, (LPARAM)&es);

o=F9 fnwiz_enum_proc regarde si un des dialog top level est
"bosa_sdm_xln" ou 'n' correspond au # de version de Excel.

Par contre, en utilisant un profiler et en faisant faire beaucoup
d'appel =E0 mes fonctions Excel, je me suis rendu compte que ma fonction
"user defined" est appel=E9 tr=E8s tr=E8s souvent et que le code ci-haut
prend un grand nombre de mes cycles.

Ma question est : existe-t-il un moyen de faire autrement ?

Merci

Nic