Format d'affichage des temps

Salut,

Je veux afficher une durée en minutes:secondes. Naïvement j'ai utilisé

Cells(Ligne, 13) = Format(Heure_arrivée - Heure_départ, "mm:ss")

Mais les minutes sont systématiquement à 12. Par contre si j'utilise

Cells(Ligne, 13) = Application.Text(Heure_arrivée - Heure_départ, "hh:mm:ss")

Là le décompte est bon.

Est ce que quelqu'un peut m'expliquer le pourquoi du comment ? Même si finalement j'ai utilisé Application.Text au lieu de Format, je suis curieux.

Manu

Bonjour,

Si le format mm:ss est précédé de hh (hh:mm:ss), ça marche bien avec format. Pour utiliser les minutes seules et éviter les confusions avec les mois, il faut utiliser "nn:ss" normalement.

Sinon, je crois qu'entre les deux fonctions, il y a des petites subtilités, mais je ne sais pas vraiment desquelles. Je vais peut-être dire n'importe quoi mais je dirais que .text reprend les standards de format de la feuille tandis que Format est propre à VBA et impose notamment des formats internationaux (anglais quoi), mais couvrant plus de possibilités. Donc j'aurais dit que .text est à utiliser pour certains formats dates (notamment pour obtenir les mois en français) et monétaires. C'est une bonne question en tout cas.

Bonjour manu, bonjour 3GB

Pourquoi traduire une valeur en texte ? ok dans un msgbox, mais si c'est pour afficher dans une cellule il suffit alors de la mettre au format mm:ss

Rechercher des sujets similaires à "format affichage temps"