Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des sous
repertoires ligne à ligne
---DGI972--- wrote:
Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des sous
repertoires ligne à ligne
---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des sous
repertoires ligne à ligne
---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des
sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez vous
traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
---DGI972--- wrote:
Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des
sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez vous
traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des
sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez vous
traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Bonjour,
Si vous faites
v_type=inputBox("Donnez le type de fichier à traiter (AA, BB ou CC)
....
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name, 2)=v_typeThen
Do
...
Cordialement
Georges
"---DGI972---" <gilles.dermigny@*NO SPAM* laposte.net> a écrit dans le
message de news:---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des
sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez vous
traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Super je rajoute cela à ma bibliothèque personnelle
Bonjour,
Si vous faites
v_type=inputBox("Donnez le type de fichier à traiter (AA, BB ou CC)
....
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name, 2)=v_typeThen
Do
...
Cordialement
Georges
"---DGI972---" <gilles.dermigny@*NO SPAM* laposte.net> a écrit dans le
message de news: mn.b16b7d62b73d8139.33384@NOSPAMlaposte.net...
---DGI972--- wrote:
Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des
sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez vous
traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Super je rajoute cela à ma bibliothèque personnelle
Bonjour,
Si vous faites
v_type=inputBox("Donnez le type de fichier à traiter (AA, BB ou CC)
....
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name, 2)=v_typeThen
Do
...
Cordialement
Georges
"---DGI972---" <gilles.dermigny@*NO SPAM* laposte.net> a écrit dans le
message de news:---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous répertoire de
TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s C:TOTO*.dat >
fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers .dat des
sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez vous
traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Super je rajoute cela à ma bibliothèque personnelle
Option Explicit
Const ForReading = 1, ForWriting = 2
Dim fso, fsofolder, TRIB, collec_file, fic_file, f_type, vbCancel,
objShell, fileIn, fileOut, COLO, strIn, Sline,CE
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
TRIB=InputBox("Voulez vous lancer le traitement des ETATs ?"& vbCrLf
&"Tapez le Nom de l'état pour lequel vous voulez générer
L'impression." & vbCrLf & vbCrLf & "Taper :" & vbCrLf & vbCrLf & "1
pour les AJ " & vbCrLf & "2 pour les DI " & vbCrLf & "3 pour DO " &
vbCrLf & "4 pour les RI"& vbCrLf,"EASY2XLS","1")
If vbCancel = 2 Then Wscript.quit
If TRIB= "" Then Wscript.quit
If TRIB <> 1 or 2 or 3 or 4 then Wscript.quit 'oh c'est pas jolie
If TRIB=1 Then f_type = "TCH_AJ" 'la aussi c'est pas jolie
If TRIB=2 Then f_type = "TCH_DI"
If TRIB=3 Then f_type = "TIP_DO"
If TRIB=4 Then f_type = "TIP_RI"
Loop
End If ' <<<ERREUR Instruction attendue
Si quelqu'un peut me donner un coup de pouce SVP ?
Option Explicit
Const ForReading = 1, ForWriting = 2
Dim fso, fsofolder, TRIB, collec_file, fic_file, f_type, vbCancel,
objShell, fileIn, fileOut, COLO, strIn, Sline,CE
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
TRIB=InputBox("Voulez vous lancer le traitement des ETATs ?"& vbCrLf
&"Tapez le Nom de l'état pour lequel vous voulez générer
L'impression." & vbCrLf & vbCrLf & "Taper :" & vbCrLf & vbCrLf & "1
pour les AJ " & vbCrLf & "2 pour les DI " & vbCrLf & "3 pour DO " &
vbCrLf & "4 pour les RI"& vbCrLf,"EASY2XLS","1")
If vbCancel = 2 Then Wscript.quit
If TRIB= "" Then Wscript.quit
If TRIB <> 1 or 2 or 3 or 4 then Wscript.quit 'oh c'est pas jolie
If TRIB=1 Then f_type = "TCH_AJ" 'la aussi c'est pas jolie
If TRIB=2 Then f_type = "TCH_DI"
If TRIB=3 Then f_type = "TIP_DO"
If TRIB=4 Then f_type = "TIP_RI"
Loop
End If ' <<<ERREUR Instruction attendue
Si quelqu'un peut me donner un coup de pouce SVP ?
Option Explicit
Const ForReading = 1, ForWriting = 2
Dim fso, fsofolder, TRIB, collec_file, fic_file, f_type, vbCancel,
objShell, fileIn, fileOut, COLO, strIn, Sline,CE
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
TRIB=InputBox("Voulez vous lancer le traitement des ETATs ?"& vbCrLf
&"Tapez le Nom de l'état pour lequel vous voulez générer
L'impression." & vbCrLf & vbCrLf & "Taper :" & vbCrLf & vbCrLf & "1
pour les AJ " & vbCrLf & "2 pour les DI " & vbCrLf & "3 pour DO " &
vbCrLf & "4 pour les RI"& vbCrLf,"EASY2XLS","1")
If vbCancel = 2 Then Wscript.quit
If TRIB= "" Then Wscript.quit
If TRIB <> 1 or 2 or 3 or 4 then Wscript.quit 'oh c'est pas jolie
If TRIB=1 Then f_type = "TCH_AJ" 'la aussi c'est pas jolie
If TRIB=2 Then f_type = "TCH_DI"
If TRIB=3 Then f_type = "TIP_DO"
If TRIB=4 Then f_type = "TIP_RI"
Loop
End If ' <<<ERREUR Instruction attendue
Si quelqu'un peut me donner un coup de pouce SVP ?
Le 22/02/2006, Georges a supposé :Bonjour,
Si vous faites
v_type=inputBox("Donnez le type de fichier à traiter (AA, BB ou CC)
....
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name,
2)=v_typeThen Do
...
Cordialement
Georges
"---DGI972---" <gilles.dermigny@*NO SPAM* laposte.net> a écrit dans
le message de news:---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous
répertoire de TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s
C:TOTO*.dat > fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers
.dat des sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez
vous traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Super je rajoute cela à ma bibliothèque personnelle
Voici mon bout de code avec les routines demandées, mais je bute sur
une erreur Instruction attendue (voir à la fin).
Le but est d'extraire des zones dans des fichiers dat
C'est fichier ce trouve dans le répertoire C:DATAPACKAGE
et il y a 4 types de fichier dat à traiter indépendement:
TCH_AJxxx.dat
TCH_DIxxx.dat
TIP_DOxxx.dat
TIP_RIxxx.dat
Je pose la question quel traitement ?
Si c'est 1 c'est le ou les fichiers TCH_AJxxx.dat qu'il faut traiter
Je prépare les colonnes et mon fichier cvs
Je filtre les fichier avec l'extension dat et le f-type=TCH_AJ
J'extrait des zones selon l'identifiant du début de chaque lignes que
je recopie dans mon cvs.
Voici le code:
Option Explicit
Const ForReading = 1, ForWriting = 2
Dim fso, fsofolder, TRIB, collec_file, fic_file, f_type, vbCancel,
objShell, fileIn, fileOut, COLO, strIn, Sline,CE
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
TRIB=InputBox("Voulez vous lancer le traitement des ETATs ?"& vbCrLf
&"Tapez le Nom de l'état pour lequel vous voulez générer
L'impression." & vbCrLf & vbCrLf & "Taper :" & vbCrLf & vbCrLf & "1
pour les AJ " & vbCrLf & "2 pour les DI " & vbCrLf & "3 pour DO " &
vbCrLf & "4 pour les RI"& vbCrLf,"EASY2XLS","1")
If vbCancel = 2 Then Wscript.quit
If TRIB= "" Then Wscript.quit
If TRIB <> 1 or 2 or 3 or 4 then Wscript.quit 'oh c'est pas jolie
If TRIB=1 Then f_type = "TCH_AJ" 'la aussi c'est pas jolie
If TRIB=2 Then f_type = "TCH_DI"
If TRIB=3 Then f_type = "TIP_DO"
If TRIB=4 Then f_type = "TIP_RI"
COLO="Code Enregistrement;Type de traitement;Nom du lot;Sequence
Lot;Numéro Image" 'Entête du fichier csv Non des colonnes excel
Set fileOut = fso.OpenTextFile("C:RECAP.CSV", ForWriting , True)
fileout.WriteLine COL 'Fabrication des colonnes
Set fsofolder = fso.GetFolder("C:DATAPACKAGE")
Set collec_file = fsofolder.Files
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name, 5) > f_type Then
Do
Set fileIn = fso.OpenTextFile(fic_file, True)
Do While Not fileIn.AtEndOfStream
SLine = fileIn.ReadLine
CE=Mid(SLine,1,2) 'CE = Code enregistrement
If CE= "50" Then
strIn=Mid(SLine,1,2)'CE = 50 Cheque Code enregistrement
strIn=strIn & ";" & Mid(SLine,3,2)
strIn=strIn & ";" & Mid(SLine,5,2)
strIn=strIn & ";" & Mid(SLine,7,11)
fileOut.WriteLine strIn
ElseIf CE="60" Then
strIn=Mid(SLine,1,2)
strIn=strIn & ";" & Mid(SLine,3,2)
strIn=strIn & ";" & Mid(SLine,10,2)
strIn=strIn & ";" & Mid(SLine,20,11)
fileOut.WriteLine strIn
ElseIf CE="65" Then
strIn=Mid(SLine,1,2)'CE = 50 Cheque Code enregistrement
strIn=strIn & ";" & Mid(SLine,8,2)
strIn=strIn & ";" & Mid(SLine,8,2)
strIn=strIn & ";" & Mid(SLine,88,11)
fileOut.WriteLine strIn
Else
fileOut.Close
End If
Loop
End If ' <<<ERREUR Instruction attendue
Next
Set fileIn = Nothing
Set fileOut = Nothing
Si quelqu'un peut me donner un coup de pouce SVP ?
Le 22/02/2006, Georges a supposé :
Bonjour,
Si vous faites
v_type=inputBox("Donnez le type de fichier à traiter (AA, BB ou CC)
....
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name,
2)=v_typeThen Do
...
Cordialement
Georges
"---DGI972---" <gilles.dermigny@*NO SPAM* laposte.net> a écrit dans
le message de news: mn.b16b7d62b73d8139.33384@NOSPAMlaposte.net...
---DGI972--- wrote:
Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous
répertoire de TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s
C:TOTO*.dat > fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers
.dat des sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez
vous traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Super je rajoute cela à ma bibliothèque personnelle
Voici mon bout de code avec les routines demandées, mais je bute sur
une erreur Instruction attendue (voir à la fin).
Le but est d'extraire des zones dans des fichiers dat
C'est fichier ce trouve dans le répertoire C:DATAPACKAGE
et il y a 4 types de fichier dat à traiter indépendement:
TCH_AJxxx.dat
TCH_DIxxx.dat
TIP_DOxxx.dat
TIP_RIxxx.dat
Je pose la question quel traitement ?
Si c'est 1 c'est le ou les fichiers TCH_AJxxx.dat qu'il faut traiter
Je prépare les colonnes et mon fichier cvs
Je filtre les fichier avec l'extension dat et le f-type=TCH_AJ
J'extrait des zones selon l'identifiant du début de chaque lignes que
je recopie dans mon cvs.
Voici le code:
Option Explicit
Const ForReading = 1, ForWriting = 2
Dim fso, fsofolder, TRIB, collec_file, fic_file, f_type, vbCancel,
objShell, fileIn, fileOut, COLO, strIn, Sline,CE
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
TRIB=InputBox("Voulez vous lancer le traitement des ETATs ?"& vbCrLf
&"Tapez le Nom de l'état pour lequel vous voulez générer
L'impression." & vbCrLf & vbCrLf & "Taper :" & vbCrLf & vbCrLf & "1
pour les AJ " & vbCrLf & "2 pour les DI " & vbCrLf & "3 pour DO " &
vbCrLf & "4 pour les RI"& vbCrLf,"EASY2XLS","1")
If vbCancel = 2 Then Wscript.quit
If TRIB= "" Then Wscript.quit
If TRIB <> 1 or 2 or 3 or 4 then Wscript.quit 'oh c'est pas jolie
If TRIB=1 Then f_type = "TCH_AJ" 'la aussi c'est pas jolie
If TRIB=2 Then f_type = "TCH_DI"
If TRIB=3 Then f_type = "TIP_DO"
If TRIB=4 Then f_type = "TIP_RI"
COLO="Code Enregistrement;Type de traitement;Nom du lot;Sequence
Lot;Numéro Image" 'Entête du fichier csv Non des colonnes excel
Set fileOut = fso.OpenTextFile("C:RECAP.CSV", ForWriting , True)
fileout.WriteLine COL 'Fabrication des colonnes
Set fsofolder = fso.GetFolder("C:DATAPACKAGE")
Set collec_file = fsofolder.Files
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name, 5) > f_type Then
Do
Set fileIn = fso.OpenTextFile(fic_file, True)
Do While Not fileIn.AtEndOfStream
SLine = fileIn.ReadLine
CE=Mid(SLine,1,2) 'CE = Code enregistrement
If CE= "50" Then
strIn=Mid(SLine,1,2)'CE = 50 Cheque Code enregistrement
strIn=strIn & ";" & Mid(SLine,3,2)
strIn=strIn & ";" & Mid(SLine,5,2)
strIn=strIn & ";" & Mid(SLine,7,11)
fileOut.WriteLine strIn
ElseIf CE="60" Then
strIn=Mid(SLine,1,2)
strIn=strIn & ";" & Mid(SLine,3,2)
strIn=strIn & ";" & Mid(SLine,10,2)
strIn=strIn & ";" & Mid(SLine,20,11)
fileOut.WriteLine strIn
ElseIf CE="65" Then
strIn=Mid(SLine,1,2)'CE = 50 Cheque Code enregistrement
strIn=strIn & ";" & Mid(SLine,8,2)
strIn=strIn & ";" & Mid(SLine,8,2)
strIn=strIn & ";" & Mid(SLine,88,11)
fileOut.WriteLine strIn
Else
fileOut.Close
End If
Loop
End If ' <<<ERREUR Instruction attendue
Next
Set fileIn = Nothing
Set fileOut = Nothing
Si quelqu'un peut me donner un coup de pouce SVP ?
Le 22/02/2006, Georges a supposé :Bonjour,
Si vous faites
v_type=inputBox("Donnez le type de fichier à traiter (AA, BB ou CC)
....
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name,
2)=v_typeThen Do
...
Cordialement
Georges
"---DGI972---" <gilles.dermigny@*NO SPAM* laposte.net> a écrit dans
le message de news:---DGI972--- wrote:Bonjour messieurs,
Il me manque une routine en vbs:
C:TOTOTATAAA
C:TOTOTATABB
C:TOTOTATACC
Dans le sous répertoire AA
j'ai des fichiers AAxx.001,AAxx.002,AAxx.003 et AAxx.dat
Dans le sous répertoire BB
j'ai des fichiers BBxx.001,BBxx.002,BBxx.003 et BBxx.dat
etc..
je voudrais lire uniquement les *.dat dans tous les sous
répertoire de TOTO du genre:
Set fso = CreateObject("Scripting.fileSystemObject")
Set fsofolder = fso.GetFolder("c:TOTO")
Set collec_file = fsofolder.files
for each fic_file in collec_file
DO
lire chaque ligne de chaque fichier dat
end
merci d'avance pour un début de code trouvé sous le coude.
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" Then
Do
Ou alors executer dans un shell la commande dir o:n /b /s
C:TOTO*.dat > fichier.lst
Puis lire ce fichier qui contient la liste de tous les fichiers
.dat des sous repertoires ligne à ligne
Super, merci
Je peux vous demander une petite alternative ?
Si je pose une question avant du genre quel type de fichier voulez
vous traiter: les AA BB ou CC ?
commment traiter que les AAxx.dat ?
Merci
Super je rajoute cela à ma bibliothèque personnelle
Voici mon bout de code avec les routines demandées, mais je bute sur
une erreur Instruction attendue (voir à la fin).
Le but est d'extraire des zones dans des fichiers dat
C'est fichier ce trouve dans le répertoire C:DATAPACKAGE
et il y a 4 types de fichier dat à traiter indépendement:
TCH_AJxxx.dat
TCH_DIxxx.dat
TIP_DOxxx.dat
TIP_RIxxx.dat
Je pose la question quel traitement ?
Si c'est 1 c'est le ou les fichiers TCH_AJxxx.dat qu'il faut traiter
Je prépare les colonnes et mon fichier cvs
Je filtre les fichier avec l'extension dat et le f-type=TCH_AJ
J'extrait des zones selon l'identifiant du début de chaque lignes que
je recopie dans mon cvs.
Voici le code:
Option Explicit
Const ForReading = 1, ForWriting = 2
Dim fso, fsofolder, TRIB, collec_file, fic_file, f_type, vbCancel,
objShell, fileIn, fileOut, COLO, strIn, Sline,CE
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
TRIB=InputBox("Voulez vous lancer le traitement des ETATs ?"& vbCrLf
&"Tapez le Nom de l'état pour lequel vous voulez générer
L'impression." & vbCrLf & vbCrLf & "Taper :" & vbCrLf & vbCrLf & "1
pour les AJ " & vbCrLf & "2 pour les DI " & vbCrLf & "3 pour DO " &
vbCrLf & "4 pour les RI"& vbCrLf,"EASY2XLS","1")
If vbCancel = 2 Then Wscript.quit
If TRIB= "" Then Wscript.quit
If TRIB <> 1 or 2 or 3 or 4 then Wscript.quit 'oh c'est pas jolie
If TRIB=1 Then f_type = "TCH_AJ" 'la aussi c'est pas jolie
If TRIB=2 Then f_type = "TCH_DI"
If TRIB=3 Then f_type = "TIP_DO"
If TRIB=4 Then f_type = "TIP_RI"
COLO="Code Enregistrement;Type de traitement;Nom du lot;Sequence
Lot;Numéro Image" 'Entête du fichier csv Non des colonnes excel
Set fileOut = fso.OpenTextFile("C:RECAP.CSV", ForWriting , True)
fileout.WriteLine COL 'Fabrication des colonnes
Set fsofolder = fso.GetFolder("C:DATAPACKAGE")
Set collec_file = fsofolder.Files
for each fic_file in collec_file
If Right(fic_file.Name, 3) = "dat" and left(fic_file.Name, 5) > f_type Then
Do
Set fileIn = fso.OpenTextFile(fic_file, True)
Do While Not fileIn.AtEndOfStream
SLine = fileIn.ReadLine
CE=Mid(SLine,1,2) 'CE = Code enregistrement
If CE= "50" Then
strIn=Mid(SLine,1,2)'CE = 50 Cheque Code enregistrement
strIn=strIn & ";" & Mid(SLine,3,2)
strIn=strIn & ";" & Mid(SLine,5,2)
strIn=strIn & ";" & Mid(SLine,7,11)
fileOut.WriteLine strIn
ElseIf CE="60" Then
strIn=Mid(SLine,1,2)
strIn=strIn & ";" & Mid(SLine,3,2)
strIn=strIn & ";" & Mid(SLine,10,2)
strIn=strIn & ";" & Mid(SLine,20,11)
fileOut.WriteLine strIn
ElseIf CE="65" Then
strIn=Mid(SLine,1,2)'CE = 50 Cheque Code enregistrement
strIn=strIn & ";" & Mid(SLine,8,2)
strIn=strIn & ";" & Mid(SLine,8,2)
strIn=strIn & ";" & Mid(SLine,88,11)
fileOut.WriteLine strIn
Else
fileOut.Close
End If
Loop
End If ' <<<ERREUR Instruction attendue
Next
Set fileIn = Nothing
Set fileOut = Nothing
Si quelqu'un peut me donner un coup de pouce SVP ?
Bonjour !
Petit détail : si un fichier s'appelle, par exemple, "AAxxdat" (sans
extension), il sera sélectionné. De même, avec "BBxx.1dat",
"CC.predat", etc.
Mais, bon, je suppose qu'il y a en place d'autres mécanismes, de
contrôle des noms de fichiers.
@-salutations
Michel Claveau
Bonjour !
Petit détail : si un fichier s'appelle, par exemple, "AAxxdat" (sans
extension), il sera sélectionné. De même, avec "BBxx.1dat",
"CC.predat", etc.
Mais, bon, je suppose qu'il y a en place d'autres mécanismes, de
contrôle des noms de fichiers.
@-salutations
Michel Claveau
Bonjour !
Petit détail : si un fichier s'appelle, par exemple, "AAxxdat" (sans
extension), il sera sélectionné. De même, avec "BBxx.1dat",
"CC.predat", etc.
Mais, bon, je suppose qu'il y a en place d'autres mécanismes, de
contrôle des noms de fichiers.
@-salutations
Michel Claveau
If Right(fic_file.Name, 3) = "dat" Then
If Right(fic_file.Name, 3) = "dat" Then
If Right(fic_file.Name, 3) = "dat" Then