[Somme de date][VBA]

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Voilà mon problème : je récupère différents temps à l'aide de la fonction "Maintenant()" sous la forme jj/mm/aa hh:mm:ss.

Ensuite, je filtre pour ne récupérer que la durée, soit hh:mm:ss.
Et je voudrais faire la somme des temps. Par exemple, je récupère
00:09:56 et 00:24:42.

Normalement, cela devrait donne 00:34:38, hors quand je fais la somme dans la requête, cela donne 0.024!

A quoi cela correspond-il et comment puis-je faire pour obtenir le format hh:mm::ss?
Merci
A voir également:

3 réponses

blux Messages postés 27120 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

la somme est donnée en multiple de 24h, soit 0,024 jour.

Va dans excel, tape : 0,024 et change le format en hh:mm:ss... tu as l'explication !

Il faut donc que tu utilises 'format' dans ta requête :
SELECT Format(TABTEST.[champ deux],"hh:mm:ss") AS Expr1
FROM TABTEST;
par exemple...

Mais fais attention aux arrondis, car 0,024 donne 00:34:34 et non 00:34:38...
0
DaNot Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   163
 
Salut,

Il faut sommer les heures avec les heures, les minutes avec les minutes et les secondes avec les secondes. Ensuite, il suffit de reformer le résultat en une variable de type Heure. Pour cela, il faut utiliser la fonction TimeSerial.

Petit Exemple :
Dim lHeure1 As Date
Dim lHeure2 As Date
Dim lsomme As Date
    
lSomme = TimeSerial(Hour(lHeure2) + Hour(lHeure1), Minute(lHeure2) + Minute(lHeure1), Second(lHeure2) + Second(lHeure1))

0
Utilisateur anonyme
 
OK
Merci à vous deux et bon week-end
0