Problème de format de cellule
Jean-Yves
-
Jean-Yves -
Jean-Yves -
Bonjour tout le monde,
J'ai un petit problème de format sous Excel / VBA :
Dans une colonne, les cellules contiennent l'heure par tranche de demi-heure, exemple : 07:30
Mais quand j'essaye d'accéder à la valeur de la cellule par l'instruction ActiveSheet.Cells(l,c), j'obtiens :
0,604166666666667 au lieu de 14:30 (par exemple)
Est-ce que quelqu'un sait comment faire, ou quelle conversion pour récupérer les caractères contenus dans la cellule
Merci d'avance
J'ai un petit problème de format sous Excel / VBA :
Dans une colonne, les cellules contiennent l'heure par tranche de demi-heure, exemple : 07:30
Mais quand j'essaye d'accéder à la valeur de la cellule par l'instruction ActiveSheet.Cells(l,c), j'obtiens :
0,604166666666667 au lieu de 14:30 (par exemple)
Est-ce que quelqu'un sait comment faire, ou quelle conversion pour récupérer les caractères contenus dans la cellule
Merci d'avance
A voir également:
- Problème de format de cellule
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format dat - Guide
8 réponses
Bonjour,
En effet, VBA a une façon bizarre de stocker les heures.
Je vais to donner MON explication (d'autre t'en donneront peut-être une autre), mais pour moi j'ai pu ainsi manipuler les heures sans PB
Toutes les heures compris entre 0 et 0,9999..... correspond aux heures de 00:00 à 23h59
A partir de 1 il faut compter en jours
ex :
si 0,604166666666667 correspond à 14:30
alors 1,604166666666667 correspond à 1 jours et 14h30
Pour les calculs il suffit d'ajouter les valeurs, pour l'affichage il faut ultiliser la fonction "Format"
j'espère avoir en partie repondu à ta question
En effet, VBA a une façon bizarre de stocker les heures.
Je vais to donner MON explication (d'autre t'en donneront peut-être une autre), mais pour moi j'ai pu ainsi manipuler les heures sans PB
Toutes les heures compris entre 0 et 0,9999..... correspond aux heures de 00:00 à 23h59
A partir de 1 il faut compter en jours
ex :
si 0,604166666666667 correspond à 14:30
alors 1,604166666666667 correspond à 1 jours et 14h30
Pour les calculs il suffit d'ajouter les valeurs, pour l'affichage il faut ultiliser la fonction "Format"
j'espère avoir en partie repondu à ta question
Merci pour ta réponse,
Mais pour l'instant c'est pas encore ça. Par exemple :
00:00 s'écrit 0 là c'est facile mais
00:01 s'écrit 6,94444444444444 E -04 value récupère la notation scientifique. Alors je ne vois pas comment trouver une règle pour récupérer 00:01 à partir de ça.
Je crois que je vais faire un tableau pour faire une correspondance car je dois juste traiter demi-heure par demi-heure
Mais pour l'instant c'est pas encore ça. Par exemple :
00:00 s'écrit 0 là c'est facile mais
00:01 s'écrit 6,94444444444444 E -04 value récupère la notation scientifique. Alors je ne vois pas comment trouver une règle pour récupérer 00:01 à partir de ça.
Je crois que je vais faire un tableau pour faire une correspondance car je dois juste traiter demi-heure par demi-heure
Bonjour,
Il y a une aide en ligne VBA sur Excel qui donne des exemples sur la manipulation des dates.
Si tu veux garder le format 07:30, il faut faire une conversion en chaine de caractère, par exemple
.....
Dim sDate As String
sDate = Cstr(Worksheets("Sheet1").Range("A1").Value)
....
Je ne sais pas si ça répond à ton problème.
;o)
Polux
Il y a une aide en ligne VBA sur Excel qui donne des exemples sur la manipulation des dates.
Si tu veux garder le format 07:30, il faut faire une conversion en chaine de caractère, par exemple
.....
Dim sDate As String
sDate = Cstr(Worksheets("Sheet1").Range("A1").Value)
....
Je ne sais pas si ça répond à ton problème.
;o)
Polux
J'avais essayé la conversion avec la fonction Cstr ... apparemment ça marche pas
Bon j'ai peut être trouvé la solution qui était suggérée par hervelot : en multipliant par 24 on récupère l'heure sous une forme plus
compréhensible :
ex 14,5 /24 = 0,60416666666666666666666666666667 c'est à dire le chiffre obtenu précédemment dans la cellule avec quelques chiffres significatifs en plus
Merci en tous cas. bien ce forum
Bon j'ai peut être trouvé la solution qui était suggérée par hervelot : en multipliant par 24 on récupère l'heure sous une forme plus
compréhensible :
ex 14,5 /24 = 0,60416666666666666666666666666667 c'est à dire le chiffre obtenu précédemment dans la cellule avec quelques chiffres significatifs en plus
Merci en tous cas. bien ce forum
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question