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
Range("A2").Value = .Substitute(.Text(Range("A1").Text, "00 00 00"), " ", ":")
End With
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+
