Why not formatting the number in a string?
char a[15];
sprintf (a, "%d", duree());
MessagePopup ("Durée de l'essai", a);
This provided duree(); function returns an integer instead of a char (char is limited to -128 to 127, or 0 to 256 if unsigned).
...or else I didn't understand your question!