OVH Cloud OVH Cloud

format heure sur formulaire

2 réponses
Avatar
Patrick
bonjour,


J'ai une feuille Excel où il y a sur la colonne B des heures que je
souhaites afficher sur mon formulaire :
for numligne=1 to 20
Box1_3 = Cells(numligne, 3).Value
Next

Box1_3 étant mon textbox sur mon formulaire

Mais j'obtiens un nombre décimale du style pour
00H24 cela m'affiche 1,6666666

Je ne comprend pas ?
Cela doit etre à cause du format je pense ?
mais pourquoi cela me change le format, je demande juste que cela m'affiche
ce qu'il y a sur ma feuille vers mon userform

Merci pour votre aide

2 réponses

Avatar
michdenis
Bonjour Patrick,

Cells(numligne, 3).Value

La propriété "Value" de l'objet "Range" (cells aussi) retourne la valeur de l'information contenu dans une cellule. Comme tu sais,
que ce soit pour les dates ou les heures, bien qu'excel permette d'afficher un format qui nous soit conviviale, il n'en demeure pas
moins que pour excel, cela représente une valeur numérique.
Selon le calendrier 1900 ou 1904, chaque jour représente un unité de 1 pour chaque jour écoulé depuis le premier janvier de cette
année (1900 ou 1904). Les heures / minutes / secondes représentent la partie décimale de la valeur numérique affichée dans une
cellule.

Si tu veux obtenir dans un textbox la représentation de ce qui est affiché dans une cellule, utilise la propriété "Text" de l'objet
"Range", comme ceci :

Me.TextBox1 = Range("A1").Text

Ou tu as aussi l'opportunité d'utiliser ceci :

TextBox1 = Format(Range("A1").Value, "HH:MM:SS")

Cependant, l'usage d'une boucle est questionnable... tu obtiendras (affichage) seulement la valeur de la dernère cellule.



Salutations!





"Patrick" a écrit dans le message de news: 43727b46$0$25975$
bonjour,


J'ai une feuille Excel où il y a sur la colonne B des heures que je
souhaites afficher sur mon formulaire :
for numligne=1 to 20
Box1_3 = Cells(numligne, 3).Value
Next

Box1_3 étant mon textbox sur mon formulaire

Mais j'obtiens un nombre décimale du style pour
00H24 cela m'affiche 1,6666666

Je ne comprend pas ?
Cela doit etre à cause du format je pense ?
mais pourquoi cela me change le format, je demande juste que cela m'affiche
ce qu'il y a sur ma feuille vers mon userform

Merci pour votre aide
Avatar
Patrick
Merci "michdenis"



"michdenis" a écrit dans le message de news:

Bonjour Patrick,

Cells(numligne, 3).Value

La propriété "Value" de l'objet "Range" (cells aussi) retourne la valeur
de l'information contenu dans une cellule. Comme tu sais,
que ce soit pour les dates ou les heures, bien qu'excel permette
d'afficher un format qui nous soit conviviale, il n'en demeure pas
moins que pour excel, cela représente une valeur numérique.
Selon le calendrier 1900 ou 1904, chaque jour représente un unité de 1
pour chaque jour écoulé depuis le premier janvier de cette
année (1900 ou 1904). Les heures / minutes / secondes représentent la
partie décimale de la valeur numérique affichée dans une
cellule.

Si tu veux obtenir dans un textbox la représentation de ce qui est affiché
dans une cellule, utilise la propriété "Text" de l'objet
"Range", comme ceci :

Me.TextBox1 = Range("A1").Text

Ou tu as aussi l'opportunité d'utiliser ceci :

TextBox1 = Format(Range("A1").Value, "HH:MM:SS")

Cependant, l'usage d'une boucle est questionnable... tu obtiendras
(affichage) seulement la valeur de la dernère cellule.



Salutations!





"Patrick" a écrit dans le message de news:
43727b46$0$25975$
bonjour,


J'ai une feuille Excel où il y a sur la colonne B des heures que je
souhaites afficher sur mon formulaire :
for numligne=1 to 20
Box1_3 = Cells(numligne, 3).Value
Next

Box1_3 étant mon textbox sur mon formulaire

Mais j'obtiens un nombre décimale du style pour
00H24 cela m'affiche 1,6666666

Je ne comprend pas ?
Cela doit etre à cause du format je pense ?
mais pourquoi cela me change le format, je demande juste que cela
m'affiche
ce qu'il y a sur ma feuille vers mon userform

Merci pour votre aide