Bonjours,

j'ai un programme qui liste les dossiers et sous dossiers etc...
et qui me donne la taille en octet mais je voudrais mettre en méga quand c'est possible et en giga etc... que ce soit lisible car c'est destiné à une personne novice en informatique, et fait par un novice en vbs

Voila Mon CODE :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Dim ShellO: Set ShellO = CreateObject("WScript.Shell")
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim SListe: Dim Schemin
'Dossier à traiter
 
Schemin = InputBox("Entrer le chemin du dossier à lister :")
 
'Dossier Bureau de windows + "\"
SListe = ShellO.SpecialFolders("Desktop")
If Right(SListe, 1) <> "\" Then SListe = SListe & "\"
'Ouverture du fichier contenant l'arborescence du répertoire à traiter vers le Bureau
Dim Fichier: Set Fichier = FSO.CreateTextFile(SListe & "Liste.html", 1, True) 
 
strHTML=strHTML & "<center><h2><B><font color=red>Liste des Dossiers et Sous-Dossiers dans " & Schemin & " et leurs tailles </font></B></h2></center>" & _
              "<table border='3' cellpadding='10' style='border-collapse: collapse; font size:11pt' bordercolor='#CCCCCC' width='auto' id='Table1'>" & _
              "<tr><td><strong>Chemin des Dossiers :</strong></td>" &_
			  "<td><strong>Taille en octet :</strong></td></tr>"
'Fichier.WriteLine (Schemin & "<br>")			  
Fichier.WriteLine strHTML 'Ecrire la structure du Tableau en HTML
ListerDossier Schemin, Fichier 'Remplissage dynamique des données dans le Tableau 
Fichier.WriteLine "</table>" 'ici on ferme notre tableau par la balise </table>
'Fermeture du fichier contenant l'arborescence du répertoire à traiter
Fichier.Close
 
Function ListerDossier(Schemin, Fichier) 'Lister l'arborescence du dossier
On Error Resume Next
Dim FSO: Set FSO = CreateObject("Scripting.FileSystemObject")
Dim ObjRep: Set ObjRep = FSO.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
Fichier.WriteLine ("<tr><td><a href='" & ObjSubRepItem.Path & "'>" & ObjSubRepItem.Path & "</td><td>" & ObjSubRepItem.Size & "</a></td></tr>") 'Ecrire le path dans les lignes du Tableau en HTML
ListerDossier ObjSubRepItem.Path, Fichier 'traiter les sous-dossiers
Fichier.WriteLine ObjSubFileItem.Path 'Ecrire le path dans la liste
Next
End Function
Ca aussi si ça peut aider :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function Unite(ByVal Taille As Double) As String 
 
    Dim TabUnite   'On déclare une variable qui va être un tableau 
    Dim i As Integer    'Un compteur 
 
    TabUnite = Array("o", "Ko", "Mo", "Go", "To", "Po", "Eo", "Zo", "Yo")    'Le tbaleau de unités 
    i = 0    'Initialisation du compteur 
 
    Do While Taille >= 1024 And i < 8    'Début de la boucle 
        Taille = Taille / 1024    'On divise 
        i = i + 1    'on rajoute 1 au compteur 
    Loop 
 
    'On retourne la taille convertie avec l'unité dans une string 
    Unite = Round(Taille, 2) & " " & TabUnite(i) 
End Function