Access Addition d'heures

Résolu/Fermé
Salut

Sous Access je veux additionner des heures. le total apparait dans un champs indépendant mais quand la somme est supérieure à 24 h, le champs affiche 0h et les minutes, or je souhaite afficher les heures entieres
Exemple : 18h00 + 18h00 = 36 h 00 et non 12 h 00 comme cela se produit

11 réponses

  1. J'ai le même problème! Je veux additionner 7:30 + 7:30 + 7:30 !!! Sur Access! Comment faire?
    1. Il faut convertir la résultante de la somme (nombre réel) au format datetime. Ensuite, on choisit le format dans lequel on veut afficher hh:mm:ss ou hh:mm.

      SELECT x, Format(CDate(Sum([Heures])),"hh:mm")
      FROM table
      GROUP BY x

      où x = champ sur lequel on veut grouper
      1. Contributeur
        bonjour

        c'est le format de ton champ qu'il faut modifier :
        il faut mettre [h]:mm pour dépasser les 24 h
        sinon avec hh:mm
        tu n'a que les heures comprise dans les 24 heures.

        1. bonjour,
          cela ne marche pas pour moi. Peut-être que j'ai mal compris

          JR
        2. Contributeur
          @JRbonjour

          dans le format de ton champ tu choisis personnalisé et il faut mettre [h]:mm pour dépasser les 24 h

          ou [hh]:mm:ss si tu veux selon le résultat recherché.
      2. Contributeur
        bonjour
        ça marche pa :s c'est-à-dire ?

        Qu'est-ce qui ne fonctionne pas ? Le format [h]:mm pour dépasser 24 heures ?

        1. En fait le format [h]:mm c pour excel et pas access.

          Pour access il fo créer un module vb pour faire la somme des heures
      3. Bonjour,

        J'a le même problème concernant les formats des heures. 20h + 20h =40 H. Comment fait on pour avoir les 40h ?
        le format H entre crochet ne marche pas pour Access, mas pour Excel. Avez vous une autre solution ?

        Merci
        :o)
        1. moi je veut additionner un chammp 1 et un champ 2 et stocker le résultat en champ 2 comment on fait
          1. Bonjour à tous

            J'ai la réponse !!! mais avec VBA

            Voici le code

            'Permet de trouver un nombre d'heures > 24 :
            Public Function EnHeure(ParTemps As Double, Optional ParSecondesAffichees As Boolean = False)
            Dim VarJours As Long, VarHeures As Long, VarMinutes As Long, VarSecondes As Long
            VarJours = Int(ParTemps)
            ParTemps = (ParTemps - VarJours) * 86400 'nombre de secondes
            VarSecondes = ParTemps Mod 60
            ParTemps = ParTemps - VarSecondes
            VarMinutes = (ParTemps Mod 3600) / 60 ' Minutes
            ParTemps = ParTemps - VarMinutes * 60
            VarHeures = (ParTemps Mod 86400) / 3600 ' Heures
            VarHeures = VarHeures + VarJours * 24
            If IsMissing(ParSecondesAffichees) Or ParSecondesAffichees = True Then
            EnHeure = VarHeures & ":" & Format(VarMinutes, "00") & ":" & Format(VarSecondes, "00")
            Else
            EnHeure = VarHeures & ":" & Format(VarMinutes, "00")
            End If
            End Function