Transformer nombre en heure

p4_ent

XLDnaute Nouveau
Bonjour,
Le logiciel que j'utilise me fournit un rapport en format .txt dans lequel est précisé, pour chaque point acquis, une heure (notamment).
Malheureusement, ce logiciel n'aime pas les chaines de caractères et là où j'aimerais qu'il écrive 12:13:14 il écrit juste 121314.
Je veux changer ça dans mon document excel dans lequel cette valeur est utilisée pour un graphique.

Première solution à laquelle j'ai pensé : format cellule. Si je sélectionne heure j'obtiens :
22/02/2232 00:00:00 à la place de 121314

Bon. J'ai voulu feinter. J'ai donc écrit la formule :
=GAUCHE(data!B8;2)&":"&STXT(data!B8;3;2)&":"&DROITE(data!B8;2)
ça marche, j'ai bien 12:13:14

Evidemment, le problème des zéros se pose le matin.
J'ai bidouillé ça :
=SI(NBCAR(data!B8)=5;GAUCHE(data!B8;1)&":"&STXT(data!B8;2;2)&":"&DROITE(data!B8;2);GAUCHE(data!B8;2)&":"&STXT(data!B8;3;2)&":"&DROITE(data!B8;2))
ok c'est lourdingue mais ça me permet de régler le problème à partir de 1h du matin.

Reste de 00:00:00 à 00:59:59 :)
Alors j'ai essayé de modifier le format du nombre dans la cellule en créant un format "spécial" : 000000
J'obtiens bien dans ma cellule 005959 ou 000059

Néanmoins, quand j'applique la formule
=GAUCHE(data!B8;2)&":"&STXT(data!B8;3;2)&":"&DROITE(data!B8;2)
Excel ne prend pas en compte les 0 et 000059 devient 59::59

Et ça c'est pas bien :)

L'un d'entre vous peut-il m'aider svp ?
 

tototiti2008

XLDnaute Barbatruc
Re : Transformer nombre en heure

Bonjour p4_ent,

Bienvenue sur XLD,

à tester :

Code:
=GAUCHE(TEXTE(A1;"000000");2)&":"&STXT(TEXTE(A1;"000000");3;2)&":"&DROITE(TEXTE(A1;"000000");2)

et si tu veux une vraie heure, tu peux essayer :

Code:
=TEMPSVAL(GAUCHE(TEXTE(A1;"000000");2)&":"&STXT(TEXTE(A1;"000000");3;2)&":"&DROITE(TEXTE(A1;"000000");2))

à mettre au format Heure

Edit : Bonjour Tibo, 2 solutions différentes dans la même minute ;)
 

EricD01

XLDnaute Junior
Re : Transformer nombre en heure

Bonsoir...

J'ai fais ça pour faire plus simple, j'ai essayé et apparemment ça fonctionne:

mettre 121314 dans la cellule A1 puis la fonction suivante en B1:

Function Texte_en_heure(target As Range)

texte = target.Value

Texte_en_heure = Mid$(texte, 1, 2) & ":" & Mid$(texte, 3, 2) & ":" & Mid$(texte, 5, 2)

End Function

@ plus...
 

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 887
dernier inscrit
MarcVeretz