Convertir format heure/minute en décimale

Résolu
Bonjour,
J'ai un fichier avec des données du type 04:00:00 et 01:30:00...
Il me faut pour mon import futur les mettre en format décimal sur le même exemple que au dessus çà donne 4 et 1,5
Comment fait j'ai tenté :
TRVFINITION.Cells(ligne_Compléter, 8).Value = Format(BDD.Cells(ligne_àcopier, 8), "0.00")

5 réponses

  1. Le calcul je le connais à savoir diviser par 60 les minutes pour obtenir les minutes en décimal.
    Je demande comment le gérer dans une macro.
    0
    1. Contributeur
      Bonjour,

      comme ceci:

      Sub TraduireHeureEnDécimale(ByVal D As Date)
      Dim TB, Resultat As Single
      TB = Split(D, ":")
      Resultat = TB(0) + ((TB(1) * 100) / 60) / 100
      MsgBox Resultat
      End Sub


      et pour appeler:

      TraduireHeureEnDécimale ("01:45")


      et si tu veux arrondir à 2 décimales:

      Sub TraduireHeureEnDécimale(ByVal D As Date)
      Dim TB, Resultat As Single
      TB = Split(D, ":")
      Resultat = Format(TB(0) + ((TB(1) * 100) / 60) / 100, "0.00")
      MsgBox Resultat
      End Sub
      


      0
      1. Comme ça
        Sub toto()
           Dim heure As Date
           heure = "00:01:30"
           Dim heureDecimale As Double
           Dim minutes As Double
           Dim secondes As Double
           minutes = Minute(heure)
           secondes = Second(heure) / 60
           heureDecimale = Minute(heure) + Second(heure) / 60
        End Sub 
         
        
        --
        Quand j'étais petit, la mer Morte n'était que malade.
        George Burns
        0
        1. Ha je n'avais pas réactualisé la page, et le_Pivert (que je salue) a répondu entre temps.
          0
      2. Merci pour vos différents retour.
        0