ptit problemes en VBS

ptit problemes en VBS - VB/VBA/VBS - Programmation

Marsh Posté le 26-12-2005 à 13:58:58    

Bonjour, :wahoo:  
 
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  :o
 
End if  
Loop    
Next
=======================
 
si quelqu'un pouvais m'aider ou optimiser mon code ca serait super :)
merci bcq d'avance  :hello:
 
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
Reply

Marsh Posté le 26-12-2005 à 13:58:58   

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed