et ça coince, ça fonctionne sur Excel si je le rentre à la main,
=TEMPSVAL(CONCATENER(GAUCHE(C1;2);":";STXT(C1;3;2);":";DROITE(C1;2)))
mais les ":" me pose un problème,
le but et de partir de 001234 (texte) par exemple pour obtenir 00:12:34 et travailler sur la valeur décimal de l'horaire
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 18 juil. 2008 à 00:40
Salut,
une autre solution plus simple(de mon point de vue ) qui utilise les fonction excel mais dans le VBA. Ce qui permet d'ecrire directement le resultat sans avoir a ecrire la formule
With Application.WorksheetFunction
Range("A2").Value = .Substitute(.Text(Range("A1").Text, "00 00 00"), " ", ":")
End With
si tu veux un resultat au format text il faut imperativement que la cellule de destination(A2 dans l'exemple) soit au format text sinon le format sera automatique un format horaire.
donc pour un format text :
Range("A2").NumberFormat = "@"
With Application.WorksheetFunction
ce qui suit est pour ne pas encore me faire reprimander par l'ami renfield
Comme je vient de te le dire, le format sera automatiquement un format horaire car on fonctionne avec des cellules excel si ce n'etait pas le cas et que l'on souhait obtenir un format horaire, comme par exemple avec une variable : Dim MonHeure As Date
il faut dans cas utiliser la fonction TImeValue comme ceci :
Dim MonHeure As Date
With Application.WorksheetFunction
MonHeure = TimeValue(.Substitute(.Text(Range("A1").Text, "00 00 00"), " ", ":"))
End With
MsgBox MonHeure
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?