ptit problemes en VBS - VB/VBA/VBS - Programmation
Marsh Posté le 30-12-2005 à 09:25:30
bonjour,
je viens de faire de petite modif. a t'on script.
le probleme que le "move" ne marchais pas ==> le fichier etais ouvert
pour recupere des caracteres avec un separateur, dans t'on cas le point virgule, utilise l'instruction "split"
'=====================================
Dim objFSO
dim objFolder
Dim objParsFile
Dim ColFiles
Dim File
Dim StringRecherchee
Dim strLine
Dim Result
Dim trouve
Dim eof
Const ForReading = 1
const MonRepertoireEnEntre="h:\mes documents\test"
const MonRepertoireEnSortie="C:\trouver\"
StringRecherchee=inputbox("Tapez le numeros clients :","Commande","ici" )
'
' test de la saisie
'
If StringRecherchee = vbCancel Or ( len(StringRecherchee) < 7 Or len(StringRecherchee) > 10) _
or IsNumeric (StringRecherchee) = False Then
MsgBox "sortie du script sur mauvaise saisie"
WScript.quit(1)
End If
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFolder = objFSO.GetFolder(MonRepertoireEnEntre)
Set ColFiles = objFolder.Files
For each File in ColFiles
set objParsFile = objFSO.OpenTextFile (File,ForReading)
trouve = False
eof = False
Do Until eof = True Or trouve = True
If objParsFile.AtEndOfStream <> True Then
strLine = objParsFile.ReadLine
Result = split(StrLine,";" )
if Result(0) = StringRecherchee Then
objParsFile.Close
trouve = True
' msgbox ("trouver " & File & " ==> " & MonRepertoireEnSortie)
' et la j'arrive pas a move le fichier dans un autre repertoire
objFSO.MoveFile File , MonRepertoireEnSortie
End If
Else
objParsFile.Close
eof = True
End If
Loop
Next
'=======================
bonne journee
Marsh Posté le 26-12-2005 à 13:58:58
Bonjour,
j'ai un repertoire h:\mes documents\test
a l'interrieur de se repertoire j'ai X fichiers dont on connait pas les noms
a l'interrieur de chaque fichier on trouve X nombres suivie de ; puis pleins d'autres infos..
ex : 123456789;jean paul;18 rue blabla
enfaite le prog qui me simplifirais la vie serait :
je rentre une valeur de 7 a 10 chiffres
le prog va parcourir tout les fichiers dans le repertoire h:\mes documents\test
le prog va recuperer dans les fichier tout ce qu'il aura trouver avant le ;
et le comparer avec que j'aurais entré comme valeur
si ca correspond : hop
je prend le fichier et je le deplace dans un autre repertoire c:\trouver
code source a ameliorer
=====================================
Const ForReading = 1
StringRecherchee=inputbox("Tapez le numeros clients :","Commande","ici" )
monrepertoire="h:\mes documents\test"
Set objFSO = CreateObject("Scripting.FileSystemObject" )
Set objFolder = objFSO.GetFolder(monrepertoire)
Set ColFiles = objFolder.Files
For each File in ColFiles
set objParsFile = objFSO.OpenTextFile (File,ForReading)
Do Until objParsFile.AtEndOfStream
strLine = objParsFile.ReadLine
Result = InStr(StrLine,StringRecherchee)
if Result <> 0 Then
msgbox ("trouver" )
et la j'arrive pas a move le fichier dans un autre repertoire
End if
Loop
Next
=======================
si quelqu'un pouvais m'aider ou optimiser mon code ca serait super
merci bcq d'avance
PS : super je viens de voir que ma recherche est toute bidon et buggé
c'est possible en VBS de recupere tout les caracteres en debut de fichier jusqu'a rencontrer le point virgule et ensuite le comparer a 15651 par exemple?
Message édité par usopp le 26-12-2005 à 14:48:52