TAILLE D'UN RÉPERTOIRE

Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010 - 3 juin 2003 à 17:15
plico223 Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 4 août 2003 - 4 août 2003 à 10:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7318-taille-d-un-repertoire

plico223 Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 4 août 2003
4 août 2003 à 10:19
Ouups , il vaut mieux
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result = vbDirectory
plico223 Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 4 août 2003
4 août 2003 à 10:13
Il faut utiliser un test combiné pour l'attribut Directory sinon tu perds une bonne partie des répertoires.
à la place de :
If GetAttr(Nom_Repertoire & "" & Nom_Fichier) = vbDirectory
Il faut
result = GetAttr(Nom_Repertoire & "" & Nom_Fichier) And vbDirectory
If result <> 0 ...
plico223 Messages postés 3 Date d'inscription jeudi 6 mars 2003 Statut Membre Dernière intervention 4 août 2003
1 août 2003 à 17:21
Peut être mais le FilesytemObject est limité parce que si tu rencontre un droit "funky" dans un sous rep , le ".size" retourne une erreur !
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
17 juil. 2003 à 16:33
Pour pdl ;O)

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'
cs_pdl Messages postés 134 Date d'inscription mardi 20 novembre 2001 Statut Membre Dernière intervention 16 juin 2008
5 juin 2003 à 08:14
En plus court, tu peux faire

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
Saros Messages postés 921 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 23 septembre 2010
3 juin 2003 à 17:15
Pour que ta fonction soit plus portable, tu devrais mettre quelques ReDim Preserve Libelle_Repertoire(0 to X) au lieu de fixer dès le départ à 100...
Autrement tout a l'air de bien marcher, rien à dire...
Saros