# Logiciels > Solutions d'entreprise > Business Intelligence > SAP Crystal Reports >  [8.5] Transformer un nombre en HEURE:MIN:SEC

## ALINE85

BONJOUR,

Je suis  la recherche d'une formule pour transformer un nombre correspondant  des secondes en HEURE:MINUTE:SECONDE.

En effet, j'obtiens un nombre de 4182,00 (secondes) en calculant la dure entre 2 heures donnes (formule Time) 13:45:48-12:36:06

Ce nombre de 4182,00, je veux l'obtenir en format d'heure soit 01:09:42

Dans l'attente de votre aide.
Salutations

----------


## lazarel

Bonjour,


Bien coute moi j'ai une solution pour la [XI],  toi de voir si les fonctions existe dj sous la [8.5].

La fonction *mod* pour caluler le reste du modulo, et la fonction *fix* pour calculer le premier champ restant.

Exemple:
4/3=*1*+( 1 /3)
4 mod 3 = 1
fix(4/3) = *1*

Avec a tu peux ainsi avoir  partir d'un nombre en seconde le nombre de jours (86400) heures (3600), minutes (60), et secondes coules.

Pour le reste c'est  toi de jouer, j'espre avoir su rpondre  ta question.

Cordialement Lazarel

----------


## kikidrome

bonjour
Tu peux essayer avec la fonction *TimeValue* :



> TimeValue (nombre)
>  Renvoie une valeur d'heure correspondant au nombre spcifi et exprim en units de 24 heures.
> Ce nombre peut tre ngatif ou fractionnaire.

----------


## ALINE85

Merci de vos rponses, lazarel et kikidrome, seulement,
lazarel, j'utilise dj ta solution sur certains de mes tats et je voulais justement    viter les formules du style (mod et truncate). Suis-je oblige de faire plusieurs formules pour obtenir mon rsultat ?
kikidrome, la formule TimeValue ne fonctionne pas.

En tout cas, merci encore  vous.

----------


## herensth

Bonjour,

Pourrais-tu essayer la formule suivante :


Local numberVar lNum := {Champ numrique}; 
Local numberVar lNumHeures := 0;
Local numberVar lNumMinutes := 0;
Local numberVar lNumSecondes := 0;

lNumHeures := lNum \ 3600;
lNumMinutes := (lNum - (lNumHeures * 3600)) \ 60;
lNumSecondes := lNum - (lNumHeures * 3600) - (lNumMinutes * 60);

ToText (lNumHeures, "00", 0, "") + ':' + ToText (lNumMinutes, "00", 0, "") + ':' + ToText (lNumSecondes, "00", 0, "");


Dans la formule ci-dessus, {Champ numrique} doit tre remplac par ta formule "Nombre de secondes" ...

Bonne fin de journe ...

Thierry.

----------


## arapahoo

Bonjours,

  Surprenant pour moi non plus la formule Timevalue ne fonctionne pas, 
mme avec un nombre en dur, donc serai ce un autre de ces merveilleux bug
Crystal ?? De toute faon  la formule de herensth, elle fonctionne  merveille,
merci pour a, plusieurs heures de recherche conomises.   
a fait un peu maon, mais faut s'y faire..... et puis a devient habituel

Merci encore     ::king::  ::king::

----------

