web-dev-qa-db-fra.com

Afficher les millisecondes dans Excel

J'essaie d'afficher des millisecondes dans une macro Excel. J'ai une colonne d'entiers qui sont des horodatages en millisecondes (28095200 correspond à 7: 48: 15,200 du matin) et je veux créer une nouvelle colonne à côté de celle-ci, qui conserve une moyenne et affiche l'heure dans un hh:mm:ss.000 format.

 Dim Cel As Range
 Set Cel = Range("B1")
 temp = Application.Average(Range("A1:A2")) / 1000
 ms = Round(temp - Int(temp), 2) * 1000
 Cel.Value = Strings.Format((temp / 60 / 60 / 24), "hh:mm:ss") _
                & "." & Strings.Format(ms, "#000")

Cela affiche uniquement "mm: ss.0" dans la cellule. Pourtant, lorsque je clique sur la cellule, il affiche "hh: mm: ss" dans la barre de formule. Pourquoi manque-t-il des heures? Comment puis-je afficher les heures, les minutes, les secondes et les millisecondes?

115
Evelyn

Cliquez avec le bouton droit sur Cellule B1 et choisissez Formater les cellules. Dans Custom, inscrivez ce qui suit dans la zone de texte intitulée Type:

[h]:mm:ss.000 

Pour définir cela en code, vous pouvez faire quelque chose comme:

Range("A1").NumberFormat = "[h]:mm:ss.000"

Cela devrait vous donner ce que vous cherchez.

REMARQUE: les champs spécialement mis en forme nécessitent souvent que la largeur de la colonne soit suffisamment large pour tout le contenu du texte mis en forme. Sinon, le texte s'affichera sous la forme ######.

211
Ben McCormack

J'ai découvert dans Excel 2007 que, si les résultats sont une table issue d'une requête intégrée, le fichier ss.000 ne fonctionne pas. Je peux coller les résultats de la requête (à partir de SQL Server Management Studio) et formater parfaitement le temps. Mais lorsque j'intègre la requête en tant que connexion de données dans Excel, le format indique toujours .000 en millisecondes.

6
Eric

Je l'ai fait dans Excel 2000.

Cette déclaration devrait être: ms = Round(temp - Int(temp), 3) * 1000

Vous devez créer un format personnalisé pour la cellule de résultat de [h]:mm:ss.000

4
Gilbert Le Blanc