Convertir nbre en temps(h:mn:s) en vb

Salut tout le monde

j'ai un petit prob , il se trouve que j'ai un nombre en secondes par exemple ( 4000) et je voudrais savoir si y a une fonction qui le converti au format hh:mn:s

merci
A+

3 réponses

  1. Il me semble que non, mais de toute façon, la fonction est assez triviale.
    De tête je t'en fais une ici :
    Function GetTime(ByVal intSeconds As Integer) As String
       Dim strTime As String 
       Dim intH As Integer
       Dim intM As Integer
       Dim intS As Integer
       Dim intReste As Integer    
    
        'Obtenir les heures
        intH =  intSeconds \ 3600
        intReste = intSeconds Mod 3600
    
        'Obtenir les minutes
        intM = intReste \ 60
        intReste = intReste Mod 60
    
       'Obtenir les secondes
        intS = intReste
    
       'Construire la chaîne d'affichage
        strTime = intH & "h" & intM & "m" & intS & "s"
    
       GetTime = strTime
    End Function
    


    REMARQUES :
    Fait gaffe au sens de '\' . C'est une division entière, ça retourne la partie entière de la division

    Et modulo (Mod) retourne le reste de la division.

    Voilà.
    1
    1. Salut !

      Moi aussi j'ai eu besoin d'une fonction pour transformer un nombre en temps, mais comme il n'en existe pas de toute faite, j'ai écrit une fonction moi-même. elle marche bien mais seulement si ton nombre est inférieur a 2 h soit 7200.

      private sub transformer( nombre as integer) : string

      dim h,m,s as integer

      if nombre<60 then
      chaine="0 : 0 : " & nombre
      else
      if nombre<3600 then
      m=int(nombre/60)
      s= nombre-(60*m)
      chaine="0 : " & m & ":" & s
      else
      h=1
      m=int((nombre/60)-60)
      s =nombre-(60*int(nombre/60))
      chaine= h & ":" & m & ":" & s
      end if
      end if

      return (chaine)

      end sub
      0
      1. Quelques conseils relatifs à ton post :
        1. Les Sub en VB ne retournent pas de valeur
        Si tu as une procédure qui doit retourner une valeur ça doit obligatoirement être une fonction

        2. La signature de la valeur du type de retour de la fonction est le même que pour le typage des variables : le mot clé 'As'
        La signature de ta fonction doit dont être :
        Private Function Transformer(Nombre As Integer) As String
        End Function
        


        3. Enfin, en VB les passages de paramètres étant fait par défaut par référence, il est préférable, de préciser que ta fonction n'a pas l'intention de modifier la valeur du paramètre en déclarant que le passage du paramètre se fait par valeur :
        Function Transformer(ByVal Number As Integer) As String
        End Function
        


        Voili, voilou.
        0
    2. Merci pour vos bons conseils
      A+
      0