Récupérer la taille d'un fichier à la façon de l'explorateur windows

Contenu du snippet

La fonction TailleFichieroKoMoGo permet de récupérer la taille d'un fichier à la façon de l'Explorateur Windows. C'est-à-dire d'utiliser l'unité appropriée (octet, Ko, Mo, Go), de limiter le nombre de chiffres après la virgule selon le nombre de chiffres avant la virgule, de ne pas arrondir (juste tronquer), ...

Source / Exemple :


Public Function TailleFichieroKoMoGo(Chemin As String) As String
    Dim Taille
    Dim Valeur
    Taille = FileLen(Chemin)
    If Taille >= 1024 Then
        Taille = Taille / 1024
        If Taille >= 1024 Then
            Taille = Taille / 1024
            If Taille >= 1024 Then
                Taille = Taille / 1024
                If Asc(StrReverse(Left(Taille, 4))) = 44 Then
                    Valeur = Left(Taille, 3)
                Else
                    Valeur = Left(Taille, 4)
                End If
                TailleFichieroKoMoGo = Valeur & " Go"
            Else
                If Asc(StrReverse(Left(Taille, 4))) = 44 Then
                    Valeur = Left(Taille, 3)
                Else
                    Valeur = Left(Taille, 4)
                End If
                TailleFichieroKoMoGo = Valeur & " Mo"
            End If
        Else
            If Asc(StrReverse(Left(Taille, 4))) = 44 Then
                Valeur = Left(Taille, 3)
            Else
                Valeur = Left(Taille, 4)
            End If
            TailleFichieroKoMoGo = Valeur & " Ko"
        End If
    Else
        If Taille < 2 Then
            Valeur = " octet"
        Else
            Valeur = " octets"
        End If
        TailleFichieroKoMoGo = Taille & Valeur
    End If
End Function

Conclusion :


Vu l'extrème simplicité du code, je n'ai pas mis de commentaires.

REMARQUE : Dans certains cas, la valeur retournée par la fonction ne correspondra pas exactement à celle de l'Explorateur Windows. C'est normal !!! J'ai décidé d'utiliser 1024 comme référence pour le passage à l'unité supérieure.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.