Manipuler un format hh:mm:ss.000

Guinpin54 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je rencontre un petit problème en VBA sous excel 2010.
J'ai une base de temps en format hh:mm:ss.000 (ex : 15:11:02.093). J'aimerais récupérer cette données et la mettre en secondes.

J'ai donc une ébauche de code comme suit :

Dim Temps as Date
Range("E" & l).Value = Hour(Temps) * 3600 + Minute(Temps) * 60 + Second(Temps)

Mon problème est alors le suivant : la fonction Second ne semble remonter que des données en seconde justement, mais dans les chiffres après la virgule.
Y-a-t'il une petite astuce pour pouvoir récupérer et manipuler les fractions de secondes?
Merci beaucoup!

Clément

A voir également:

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Vos valeurs de temps sont stockees ou, dans des cellules ou ?????
0
Guinpin54 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Mes valeurs sont stockées dans des cellules.
Je passe donc la valeur de la cellule dans ma variable Temps, pour après la manipuler.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > Guinpin54 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Regardez la proposition de Thev (Salut, ca flotte ??), qui marche tres bien.
0
thev Messages postés 1985 Date d'inscription   Statut Membre Dernière intervention   713
 
Bonjour,

et en essayant :
Range("E" & l).Value = Temps*24*3600
0
Guinpin54 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Ca marche super chez moi! Merci :)

Une seconde question si je peux me permettre:
J'ai testé le même script chez un collègue dans la même version de Excel, et lorsque je défini:

Temps = Range("D" & i).Value

Il me renvoie une incompatibilité de type. J'essaye de skipper cette partie en faisant directement
Range("E" & l).Value = Range("D" & i).Value * 3600 * 24
Qui marche chez moi, mais rebelote... Une petite idée sur le sujet?
Désolé du dérangement!
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > Guinpin54 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

J'essaye de skipper Vous faites du bateau ??

Peut-etre un probleme de format

Pouvez-vous mettre le fichier du "collegue" a dispo
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780 > Guinpin54 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

La solution c'est Option Explicit au début du module
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Vous pensez a ceci:

Range("E" & l).Value = Range("D" & i)

Mais ca marche sur son PC
0