Bonjour,
Petite expérience, juste en passant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Private Sub Command1_Click()
dt = -7.22222
If dt <= 0 And dt <> "" Then
nh = dt - Fix(dt)
MsgBox " Format(dt - nh, ""00"") & "" d "" & Format(dt - Fix(dt), ""hh:mm:ss"") retourne " & vbCrLf & _
Format(dt - nh, "00") & " d " & Format(dt - Fix(dt), "hh:mm:ss") & vbCrLf & vbCrLf & _
"c'est à dire la même chose que retournerait tout simplement et d'emblée " & vbCrLf & vbCrLf & _
"Format(Fix(dt), ""00"") & "" d "" & Format(dt - Fix(dt), ""hh:mm:ss""), qui retourne " & vbCrLf & _
Format(Fix(dt), "00") & " d " & Format(dt - Fix(dt), "hh:mm:ss") & vbCrLf & vbCrLf & _
"alors à quoi diable a servi tout ce mic mac avec un tremplin nh, etc ... ?"
toto = Format(dt - nh, "00") & " d " & Format(dt - Fix(dt), "hh:mm:ss")
Else
toto = dt
End If
End Sub |
sans compter que je ne comprends pas l'idée de :
If dt <= 0 And dt <> "" Then
si dt est un string, pour le comparer à 0, il faut le convertir d'abord en numérique intelligible
si dt est déjà un numérique, il ne saurait être comparé à la chaîne "" ....
Au hasard : dt n'a pas été déclarée ... et l'option explicit n'a pas été utilisée...
Partager