Soyez le premier à donner votre avis sur cette source.
Snippet vu 7 488 fois - Téléchargée 36 fois
Function Taille_Repertoire(Nom_Repertoire As String) As Double Dim Nom_Fichier As String Dim Nombre_Repertoire As Long Dim Taille_Fichier As Double Dim Libelle_Repertoire(100) As String 'On peut mettre plus .... Dim I As Long 'Déclaration des variables Nombre_Repertoire = 0 Taille_Fichier = 0 'Recherche les informations du répertoire concernées différents répertoire Nom_Fichier = Dir(Nom_Repertoire & "\") Do While Nom_Fichier <> "" If GetAttr(Nom_Repertoire & "\" & Nom_Fichier) <> vbDirectory Then Taille_Fichier = Taille_Fichier + FileLen(Nom_Repertoire & "\" & Nom_Fichier) Else If GetAttr(Nom_Repertoire & "\" & Nom_Fichier) = vbDirectory And Nom_Repertoire <> "." And Nom_Repertoire <> ".." Then Nombre_Repertoire = Nombre_Repertoire + 1 Libelle_Repertoire(Nombre_Repertoire) = Nom_Repertoire & "\" & Nom_Fichier End If End If Nom_Fichier = Dir Loop Nom_Fichier = Dir(Nom_Repertoire & "\*.", vbDirectory) Do While Nom_Fichier <> "" If GetAttr(Nom_Repertoire & "\" & Nom_Fichier) = vbDirectory And Nom_Fichier <> "." And Nom_Fichier <> ".." Then Nombre_Repertoire = Nombre_Repertoire + 1 Libelle_Repertoire(Nombre_Repertoire) = Nom_Repertoire & "\" & Nom_Fichier End If Nom_Fichier = Dir Loop 'Recherche les informations des sous-répertoires For I = 1 To Nombre_Repertoire Taille_Fichier = Taille_Fichier + Taille_Repertoire(Libelle_Repertoire(I)) Next I Taille_Repertoire = Taille_Fichier End Function
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result = vbDirectory
à la place de :
If GetAttr(Nom_Repertoire & "" & Nom_Fichier) = vbDirectory
Il faut
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result <> 0 ...
En effet c'est court, mais pour accéder à FileSystemObject, il faut absolument que le PC possède IE4 minimum. Tu me diras que c'est pour la plupart des PC le cas.... ;-)
J'avais posté une source ici à l'époque (16/05/2002) que traitait 2 méthodes (récursivité et FSO) pour connaître la taille d'un répertoire: http://www.vbfrance.com/article.aspx?ID=4246
Bonne prog'
Function ShowFolderSize(filespec)
Dim fso, f, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(filespec)
s = UCase(f.Name) & " uses " & f.size & " bytes."
ShowFolderSize = s
End Function
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.