Microsoft 365 [VBA] Gestion format date hh:mm:ss,milli dans un Userform

Nicolala

XLDnaute Nouveau
Bonjour à tous !

J'ai un souci pour le boulot, on manipule des logs d'enregistrement véhicule, avec un format de date contenant des millisecondes

Le format est de type hh:mm:ss,000 avec 000 pour les millisecondes.
Par exemple, la valeur numérique 0,0573972222222222 nous donne avec ce format 01:22:39,120

Jusque là, pas de problème, cependant, je souhaite ajouter un userform avec une combobox (appelée Timestamp1 dans mon code) pour permettre à l'utilisateur de choisir la date qu'il souhaite observer.
La combobox affiche les dates au bon format, mais une fois la date sélectionnée, elle l'affiche au format numérique !
Quand j'essaye en VBA de la mettre au bon format, la date affichée est mauvaise, voir arrondi à la seconde près

VB:
Private Sub Timestamp1_Change() 'Menu déroullant 1
        
    Timestamp1.Value = Format(Timestamp1.Value, "hh:mm:ss,000") 'on adapte le format de cellule, par défaut les combobox affichent la val numérique

End Sub


J'ai la sensation qu'Excel gère mal les dates incluant les millisecondes, vous avez une idée ?

Je vous remercie, et bonne journée !
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Garnissez la liste de la ComboBox d'un tableau où vous aurez converti les nombres en textes
Par exemple comme ça :
VB:
Dim T(), L As Long, Sec As Double
T = [TabChrono[Temps]].Value
For L = 1 To UBound(T, 1)
   Sec = T(L, 1) * 86400
   T(L, 1) = Format$(Int(Sec / 60) / 1440, "h:mm:") & Format$(Sec - Int(Sec / 60) * 60, "00.000")
   Next L
ComboBox1.List = T
 
Dernière édition:

Nicolala

XLDnaute Nouveau
Arf j'ai peut être parler un peu vite ...

Avec ta solution, je perds le format numérique, ce qui plante derrière mes RECHERCHEV etc ...
Les valeurs retournées dans la combobox ne sont plus comprises, car en format Texte désormais ...
 

Discussions similaires