// Description des paramètres d'entrée/sortie de 'CalculTailleVbs' :
//
// Syntaxe :
//[ <Résultat> = ] CalculTailleVbs (<P_NomRep>[, <P_Datcre>[, <P_DatMod>[, <P_DatAcc>[, <P_FicVerif>[, <P_TailleFic>]]]]])
//
// Paramètres :
// P_NomRep : <Nom du répertoire>
// P_Datcre : <Date de création (renvoyée)>
// P_DatMod : <Date de modification (renvoyée)>
// P_DatAcc : <Date accès (Renvoyée)>
// P_FicVerif : <Fichier dont l'existence doit être vérifiée>
// P_TailleFic : <Taille du fichier à vérifier>
// Valeur de retour :
// réel : <Taille du répertoire>
// Notes :
// Calcul de la taille d'un répertoire par OLE VBS
// Cette procédure peut en plus calculer la taille d'un fichier particulier
// Remarque :
// le format date en entier de Windev est un entier long qui correspond au nombre de jours écoulés
// depuis le 1er janvier 1800 plus 1
// le format date en entier de windows est un entier long qui correspond au nombre de jours écoulés
// depuis le 1er janvier 1900
// date Windows et Windev
// Exemple :
// Indiquez ici un exemple d'utilisation.
//
FONCTION GLOBALE CalculTailleVbs(P_NomRep,P_Datcre="",P_DatMod="",P_DatAcc="",P_FicVerif="",P_TailleFic=0)
L_Fso est un objet OLE "Scripting.FileSystemObject"
L_Datcre, L_DatAcc, L_Datmod, L_Datcre_A, L_DatAcc_A, L_Datmod_A sont chaîne
L_Datcre_N, L_DatAcc_N, L_Datmod_n sont entier
L_DateWin_n est entier
L_DateWin est chaîne="19000101"
L_Repert est un objet OLE dynamique
L_Taille est réel
SI fRep(P_Nomrep+"\*.*")<>"" OU fRep(P_Nomrep+"\*.*",frRépertoire)<>"" ALORS
L_Repert=L_Fso>>GetFolder(P_NomRep)
SI L_Repert>>Attributes()<>22 ALORS
L_DateWin_n=DateVersEntier(L_DateWin)-2
L_Taille=L_Repert>>size()
// Date de création
L_Datcre=L_Repert>>DateCreated()
L_Datcre_A=ExtraitChaîne(L_Datcre,1,".")
L_Datcre_n=Val(L_Datcre_A)+L_DateWin_n
P_Datcre=EntierVersDate(L_Datcre_n)
// Date de modification
L_DatMod=L_Repert>>DateLastModified()
L_DatMod_A=ExtraitChaîne(L_DatMod,1,".")
L_DatMod_n=Val(L_DatMod_A)+L_DateWin_n
P_DatMod=EntierVersDate(L_DatMod_n)
// Date dernier accès
L_DatAcc=L_Repert>>DateLastAccessed()
L_DatAcc_A=ExtraitChaîne(L_DatAcc,1,".")
L_DatAcc_n=Val(L_DatAcc_A)+L_DateWin_n
P_DatAcc=EntierVersDate(L_DatAcc_n)
SI SansEspace(P_Ficverif)<>"" ALORS
SI fRep(P_Nomrep+"\"+P_Ficverif)<>"" ALORS
P_Taillefic+=fTaille(P_Nomrep+"\"+P_Ficverif)
FIN
FIN
SINON
L_Taille=0
FIN
libérer L_Repert
FIN
RENVOYER L_Taille
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=14&topic_id=4859&post_id=20147