Public Function GetSizeName(ByVal vValue As Long) As String
Dim Desc As Variant
Dim s As Boolean
Dim d As Integer
Dim r As Double
r = vValue
Desc = Array("octets", "Ko", "Mo", "Go", "To")
Do While r > 1024
s = (r And 1023) <> 0
r = r / 1024
d = d + 1
Loop
If s Then
If r > 100 Then
GetSizeName = Format(r, "0") & " " & Desc(d)
ElseIf r > 10 Then
GetSizeName = Format(r, "0.0") & " " & Desc(d)
Else
GetSizeName = Format(r, "0.00") & " " & Desc(d)
End If
Else
GetSizeName = r & " " & Desc(d)
End If
End Function