LePetitNiko
Messages postés5Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention17 octobre 2007
-
16 oct. 2007 à 16:08
LePetitNiko
Messages postés5Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention17 octobre 2007
-
17 oct. 2007 à 13:11
Bonjour à tous,
Je viens ici soliciter un peu de votre aide.
Je vous explique :
J'ai un fichier txt avec une liste de nom de repertoire type :
"REPERTOIREXX1 - MODIFIE LE 02 06 07"
"REPERTOIREX2 - MODIFIE LE 04 09 07
"REPERTOIREXXX3 - MODIFIE LE 10 09 07
"REPERTOIRE4 - MODIFIE LE 20 11 06"
Est-il possible en VB de récuperer en sortie dans un autre fichier texte la liste des repertoires qui ont été modifié durant les derniers 15 jours.... en comparant donc les derniers caractères du nom de repertoire donc "02 06 07" par exemple pour le premier de la liste à la date du jour....
Merci pour votre aide...
A voir également:
Récupérer une variable dans une chaine de caractere et comparer une date.
Const ForReading = 1
Dim objTextStream, arrFiles, i
Set objTextStream = objFso.OpenTextFile(Path & Fichier, ForReading)
Do While Not ObjTextStream.AtEndOfStream
arrFiles = Filter(split(ObjTextStream.ReadLine, """"),"-")
If IsArray(arrFiles) = False Then
Else
For i = 0 To Ubound(arrFiles)
MsgBox arrFiles(i) &vbCrLf& CDate(Right(arrFiles(i),8)) &vbCrLf& _
Date & vbCrLf& _
DateDiff("d", CDate(Right(arrFiles(i),8)), Date) _
,,"élément de mon tableau"
'Verif sur 42 jours: 2 msgbox affichées (1ère et 4ème)
If DateDiff("d", CDate(Right(arrFiles(i),8)), Date) > 42 Then _
MsgBox arrFiles(i),,"date supérieure"
Next
End If
Loop
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 17 oct. 2007 à 12:31
Bonjour
A adapter.
Option explicit
Dim objFso, Fichier, Path, FicOut, resultat
Set objFso = CreateObject("Scripting.FileSystemObject")
Fichier = "fichier.txt"
FicOut = "fichier_resultat.txt"
Path = "D:\SCRIPTS\Fichiers"
Const ForReading 1, ForWriting 2
Dim objTextStream, arrFiles, i
Set objTextStream = objFso.OpenTextFile(Path & Fichier, ForReading)
Do While Not ObjTextStream.AtEndOfStream
arrFiles = Filter(split(ObjTextStream.ReadLine, """"),"-")
If IsArray(arrFiles) = False Then
Else
For i = 0 To Ubound(arrFiles)
'Verif sur 42 jours: 2 msgbox affichées (1ère et 4ème)
If DateDiff("d", CDate(Right(arrFiles(i),8)), Date) > 42 Then
resultat = arrFiles(i) &vbCrLf& resultat
End if
Next
End If
Loop
objTextStream.Close
Set objTextStream = objFso.CreateTextFile(Path & FicOut, ForWriting)
objTextStream.WriteLine resultat
objTextStream.Close
Set objTextStream = Nothing
Set objFso = Nothing
LePetitNiko
Messages postés5Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention17 octobre 2007 16 oct. 2007 à 16:12
Bonjour à tous, Je viens ici soliciter un peu de votre aide.Je vous explique :
J'ai un fichier txt avec une liste de nom de repertoire type :
"REPERTOIREXX1 - MODIFIE LE 02 06 07"
"REPERTOIREX2 - MODIFIE LE 04 09 07"
"REPERTOIREXXX3 - MODIFIE LE 10 09 07"
"REPERTOIRE4 - MODIFIE LE 20 11 06"
Est-il possible en VB de récuperer en sortie dans un autre fichier texte la liste des repertoires qui ont été modifié durant les derniers 15 jours.... en comparant donc les derniers caractères du nom de repertoire donc "02 06 07" par exemple pour le premier de la liste à la date du jour....
LePetitNiko
Messages postés5Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention17 octobre 2007 17 oct. 2007 à 08:32
Bonjour Jean-Marc,
Merci à toi pour ton aide, ton script VBS approche du but, mais j'ai qq soucis en prenant l'exemple du fichier texte un peu plus bas,j'ai qq erreurs de comparaison, mais l'idée est la, le tout étant à la fin plutôt que d'avoir des msgbox, avoir la liste des repertoires dans < 42 jours un fichier txt.
"07 01 LAVABO et VASQUES - MODIFIE LE 10 10 07"
"07 02 RECEVEURS et BAIGNOIRES - MODIFIE LE 04 09 07"
"07 03 PROTECTION DE DOUCHE - MODIFIE LE 16 11 06"
"07 04 ACC SDB ET WC - MODIFIE LE 10 09 07"
"07 05 MIROIRS ET ARMOIRES DE TOILETTE - MODIFIE LE 20 11 06"
"07 07 WC - MODIFIE LE 17 11 06"
"07 08 CUISINE - MODIFIE LE 22 11 06"
"08 01 ALIMENTATION- MODIFIE LE 28 12 06"
"08 02 ROBI DE SDB - MODIFIE LE 30 01 07"
"08 03 ROBI DE CUISINE - MODIFIE LE 30 01 07"
"08 04 HYDROMASSAGE - MODIFIE LE 05 03 07"
"08 05 TRAITEMENT DE L'EAU - MODIFIE LE 28 11 06"
Vous n’avez pas trouvé la réponse que vous recherchez ?
LePetitNiko
Messages postés5Date d'inscriptionjeudi 28 septembre 2006StatutMembreDernière intervention17 octobre 2007 17 oct. 2007 à 08:39
Autant pour moi je rectifi, ton VBS marche très bien pour la comparaison, juste peut-on le compléter juste pour que les fichiers < 42 jours soit listé dans une fichier texte ?
En tout cas.... merci pour ce scripts, je commencais à devenir fou a force de pas trouver de solution.