[vba excel] convertion de minutes en heures et minutes

convertion de minutes en heures et minutes [vba excel] - VB/VBA/VBS - Programmation

Marsh Posté le 10-05-2005 à 21:07:19    

Bonjour,  
voila j'ai créé une fonction qui convertie les minutes en heures mais elle ne marche pas tout le temps :(
 
voila le code  
[quote]
 
'conversion des minutes  
 
     Dim a As Integer
     Dim e As String
     
     a = f.Cells(x, 54).Value
     If a Mod 60 = 0 Then
     e = a / 60 + f.Cells(x, 53).Value & "h"
     Else
     e = (Int(a / 60) + f.Cells(x, 53).Value) & "h" & Arrondi(Mid((a / 60), 2, 20) * 60)
     End If
     f.Cells(x, 55).Value = e
 
 
cette procedure marche si le nombre de minutes est inferieur a 600, si le nombre de minutes est superieur a 600, le resultat est de la forme : 14 h 117 minutes et moi j'aimerai bien 15h57 minutes  
 
merci d'avance ;)

Reply

Marsh Posté le 10-05-2005 à 21:07:19   

Reply

Marsh Posté le 11-05-2005 à 00:00:04    

fredrider a écrit :


     e = (Int(a / 60) + f.Cells(x, 53).Value) & "h" & Arrondi(Mid((a / 60), 2, 20) * 60)


 
Elle est censée faire quoi, cette formule ? Parce qu'à mon avis, c'est un pb de math et non de VB.

Reply

Marsh Posté le 11-05-2005 à 00:48:38    

guillaume7520, t'as jamais fait de math dans ta vie pour ne pas utiliser l'operateur "modulo" ? :heink:  

Reply

Marsh Posté le 11-05-2005 à 00:56:07    

rappel de formule de 6ième :
 
soit T, le temps en minute :
H = T / 60
M = T mod 60
 
Si T est en seconde :
H = T / 3600
M = (T/60) mod 60
S = (T mod 3600) mod 60

Reply

Marsh Posté le 11-05-2005 à 08:07:33    

guillaume7520 a écrit :

Il veut convertir des secondes en heures, minutes, secondes c'est que je fais...  :whistle:  :lol:
Faut bien que je fasse un exemple concret et utilisable  :p


A mon avis, Secondes sera toujours à zéro puisqu'on fournit un nombre de minutes...


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 11-05-2005 à 08:29:16    

Nettement plus simple:

Dim sH As String
Dim sM As String
sH = Str(Int([A1] / 60))
sM = Format$([A1] Mod 60, "00" )
MsgBox (sH & "H " & sM & "M" )


Tu n'as plus qu'à remplacer le range [A1] par la cellule de ton choix.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed