Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA] format heure HH:MM:SS dans une variable

3 réponses
Avatar
twinley
Bonjour à tous

Au même titre qu'on peut forcer le format "texte" d'une cellule par cette ligne
Range("B2").NumberFormat="@"

existe t'il l'a même chose pour forcer le format heure hh:mm:ss d'une variable qui affiche l'heure sous la forme 0,82929398148 ?

Je m'en tire en deux lignes
heurehaut = cells(5,1) ' là j'ai 0,822929398148
heurhaut = Format(heurhaut, "HH:MM:SS") ' j'ai ce que je veux "19:54:11"

je cherche à réduire en une ligne et si un signe cabalistique équivalent à @ peut faire l'affaire pour les heures...

Merci pour votre aide

à+
--
twinley

3 réponses

Avatar
ru-th
Salut

cells(5,1).NumberFormatLocal = "hh:mm:ss"

a+
rural thierry
"twinley" a écrit dans le message de
news:
Bonjour à tous

Au même titre qu'on peut forcer le format "texte" d'une cellule par cette
ligne

Range("B2").NumberFormat="@"

existe t'il l'a même chose pour forcer le format heure hh:mm:ss d'une
variable qui affiche l'heure sous la forme 0,82929398148 ?


Je m'en tire en deux lignes
heurehaut = cells(5,1) ' là j'ai 0,822929398148
heurhaut = Format(heurhaut, "HH:MM:SS") ' j'ai ce que je veux
"19:54:11"


je cherche à réduire en une ligne et si un signe cabalistique équivalent à
@ peut faire l'affaire pour les heures...


Merci pour votre aide

à+
--
twinley


Avatar
Nicolas B.
Salut twinley,

Ca dépend du type de variable avec lequel tu travailles.

Les deux exemples suivants fonctionnent (mais attention si tu veux faire des
calculs avec heurehaut en String) :

Dim heurehaut As String
heurehaut = Format(Cells(5, 1), "hh:mm:ss")
MsgBox heurehaut


Dim heurehaut As Date
heurehaut = Cells(5, 1)
MsgBox heurehaut


A+
--
Nicolas B.


Bonjour à tous

Au même titre qu'on peut forcer le format "texte" d'une cellule par
cette ligne
Range("B2").NumberFormat="@"

existe t'il l'a même chose pour forcer le format heure hh:mm:ss d'une
variable qui affiche l'heure sous la forme 0,82929398148 ?

Je m'en tire en deux lignes
heurehaut = cells(5,1) ' là j'ai 0,822929398148
heurhaut = Format(heurhaut, "HH:MM:SS") ' j'ai ce que je veux
"19:54:11"

je cherche à réduire en une ligne et si un signe cabalistique
équivalent à @ peut faire l'affaire pour les heures...

Merci pour votre aide

à+
--
twinley


Avatar
twinley
Merci à vous.

Je n'avais pas mis la ligne Dim as date
et du coup la var avait 0,882929... et donc deux lignes de code
maintenant j'ai directement 19:54:11 avec heurehaut = Cells(5,1)

et mieux la formule de ru-th résoud un petit inconfort que j'avais dans la cellule.
J'avais 7:54:11 PM et je voulais 19:54:11.
Ce que j'obtiens avec
cells(5,1).NumberFormatLocal = "hh:mm:ss"

c'est pas bô la vie en vba ?

à+
--
twinley



Salut

cells(5,1).NumberFormatLocal = "hh:mm:ss"

a+
rural thierry
"twinley" a écrit dans le message de
news:
Bonjour à tous

Au même titre qu'on peut forcer le format "texte" d'une cellule par cette
ligne

Range("B2").NumberFormat="@"

existe t'il l'a même chose pour forcer le format heure hh:mm:ss d'une
variable qui affiche l'heure sous la forme 0,82929398148 ?


Je m'en tire en deux lignes
heurehaut = cells(5,1) ' là j'ai 0,822929398148
heurhaut = Format(heurhaut, "HH:MM:SS") ' j'ai ce que je veux
"19:54:11"


je cherche à réduire en une ligne et si un signe cabalistique équivalent à
@ peut faire l'affaire pour les heures...


Merci pour votre aide

à+
--
twinley