Problème de calcul de date => résultat négatif

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 26 juin 2002 à 11:04
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 26 juin 2002 à 14:34
Bpnjour,

En VBS, j'ai créé:
- une variable aaqqq (année + quantième du jour machine)
- une variable aaqqq5 extraite des caractères du nom d'un fichier
Aujourd'hui, j'ai donc:
aaqqq = 02177
aaqqq5 = 02172

Je n'arrive pas à faire aaqqq - aaqqq5 = 5
J'ai un résultat négatif.
J'ai essayé pas de fonctions de reconversion, mais nenni...ca marche pas !!!

Si quelqu'un peut m'aider:
Ci-dessous, mon code:

3 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
26 juin 2002 à 11:07
Dim Path
Path = "c:\KRNSDE"
MsgBox ShowFolderList(Path),vbmessage,"Fichiers contenus dans le répertoire " & Path
Function ShowFolderList(strPath)
Dim fso, Dossiers, fic, fichiers, strListe
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder(strPath)
Set fic = Dossiers.Files
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' conversion de la date du jour (jjmmaa) en aaqqq -5 jours '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim qqq, aaqqq, aaqqq5
qqq = DatePart("y", Date)
If qqq < 10 Then
aaqqq = Right(Date,2) & "00" & DatePart("y", Date)
aaqqq5 = Right(Date,2) & "00" & DatePart("y", DateAdd("d", -5, Date))
Else
If qqq < 100 Then
aaqqq = Right(Date,2) & "0" & DatePart("y", Date)
aaqqq5 = Right(Date,2) & "0" & DatePart("y", DateAdd("d", -5, Date))
Else
aaqqq = Right(Date,2) & DatePart("y", Date)
aaqqq5 = Right(Date,2) & DatePart("y", DateAdd("d", -5, Date))
End If
End If
'MsgBox "aaqqq " & aaqqq & " aaqqq5 " & aaqqq5 & " test jmo"

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' delete des fichiers inférieurs de 5 jours à aaqqq '
' variable fichiers => c:\KRNSDE\SDE_yyy-aaqqq '
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim diff
For Each fichiers in fic

diff = aaqqq - Mid(fichiers,19,5)
MsgBox aaqqq & " - " & aaqqq5 & " = " & diff
If diff >= 5 Then
MsgBox Mid(fichiers,19,5)
MsgBox "aaqqq =" & aaqqq & " fichier=" & fichiers & " sera deleté ..diff=" & diff
'fso.DeleteFile
Else
MsgBox Mid(fichiers,19,5)
MsgBox "aaqqq =" & aaqqq & " fichier=" & fichiers & " ne sera pas deleté ..diff=" &diff
End If

strListe = strListe & vbcrlf & vbcrlf & fichiers.Name & " Date (jjmmaa) : " & fichiers.DateLastModified
Next

ShowFolderList = strListe
End Function
0
nariel1 Messages postés 55 Date d'inscription mardi 21 mai 2002 Statut Membre Dernière intervention 6 mai 2009
26 juin 2002 à 12:36
essaie ca et dit moi si c'est ok
Dim strfolder
strfolder = "c:\KRNSDE"

Dim fso, f, fdate, fname, fic
Dim dtDiffFile As Date
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder("strfolder ")
Set fic = Dossiers.Files
For Each fichiers In fic
Set f = fso.GetFile(fichiers)
fdate = f.DateCreated
fname = f.Name
dtDiffFile = DateDiff("d", Now, fdate)
If dtDiffFile <= -5 Then fso.DeleteFile (fname)

Next

ps: dans un fichier n'utilise pas "-" c'est pas tres bon pour ton programe
nariel1
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
26 juin 2002 à 14:34
Salut,

Pourquoi faire long quand on peut faire court !!!!!!
Ca marche. J'est testé avec DateLastModified.
Je ne sais pas pourquoi je suis venu m'enterrer avec cette date -5, puisque qu'il y a "created", "last accessed, lastmodified...

Merci de ta proposition qui raccourcit considérablemnt le code.
J'ai noté ton surnom "nariel1" dans mon répertoire à questions !!!
Je débute en VBS...c'est pas trop évident pour certaines manipulations, mais heureusement ca se rapproche de plusieurs langages que je pratique sur BULL depuis qques années.
Et sur le Forum, il n'y a pas beaucoup de personnes qui connaissent VBScript.
Je suis aussi en contact "journalier" avec VicoLaChips2 qui lui se démmerde bien

A +
jean-marc
0
Rejoignez-nous