Bonjour à tous,
Ce problème viens à la suite du script qu'on m'avait demandé de faire auparavant :
Voici les faits :
- Un fichier de données financières en .csv généré automatiquement=intouchable --> FRP.csv
- Un fichier de données financières en .txt généré automatiquement=intouchable --> SAP.txt
Je fait une comparaison des deux fichiers (ligne par ligne de FRP.csv et vérifier si on trouve une donnée similaire dans SAP.txt)
Cette partie est OK.
Mon script fais la vérification, me renvoi ce que je veux sous la forme d'un fichier .csv... Et c'est là tout le problème !
Les utilisateurs de ce script on besoin d'un résultat sous la forme d'un fichier excel (.xls ou .xlsx).
J'ai donc enregistré une macro pour l'appeler dans mon script BATCH et faire la conversion, mais tout ne se passe pas comme prévu !
Voici mon script BATCH :
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 @echo off setlocal enableextensions enabledelayedexpansion chcp 28591 >nul :: ------------------------------------------------------- :: on definit l'arborescence et les fichiers :: ------------------------------------------------------- set PATH1=D:\Users\carpentierant\Desktop\test_rappro\ set PATH2=D:\Users\carpentierant\Desktop\test_rappro\temp\ set PATH3=D:\Users\carpentierant\Desktop\test_rappro\archives\ set PATH4=D:\Users\carpentierant\Desktop\test_rappro\depot\ set frp=%PATH2%frp.csv set sap=%PATH4%sap.txt :: ------------------------------------------------------- :: on teste l'existence du dossier "archives" :: ------------------------------------------------------- cd /d %PATH3% || exit /b 1 :: ------------------------------------------------------- :: on vide le dossier "archives" :: ------------------------------------------------------- >nul del /f /q "%PATH3%*.*" :: ------------------------------------------------------- :: on convertit le fichier Excel en .CSV :: ------------------------------------------------------- OpenConvert.vbs %PATH4%frp.xls !frp! /w echo ==================================================== echo Rapprochement FRP - SAP echo ==================================================== for /f "usebackq delims=" %%a in ("!frp!") do ( echo. for /f "tokens=14 delims=;" %%i in ("%%~a") do ( set "var2=%%i" set "var2=!var2:~5,-3!" FINDSTR /C:"!var2!" !sap! && echo %%a >> %PATH3%TROUVE_IN_SAP.txt || echo %%a >> %PATH3%NON-TROUVE_IN_SAP.csv set var2= ) ) %PATH1%script.vbs %PATH3%NON-TROUVE_IN_SAP.csv %PATH3%NON-TROUVE_IN_SAP /w pause timeout /t 10 explorer /select,"%PATH3%NON-TROUVE_IN_SAP.csv" exit /b 0
Et mon Script VBA (.vbs) de conversion XLS -> CSV :
Et mon Script VBA (.vbs) de conversion CSV -> XLS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if WScript.Arguments.Count < 2 Then WScript.Echo "Erreur! Specifiez le chemin racine du fichier. Usage: XlsToCsv SourcePath.xls Destination.csv" Wscript.Quit End If Dim oExcel Set oExcel = CreateObject("Excel.Application") Dim oBook Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0)) oBook.SaveAs WScript.Arguments.Item(1), 6,,,,,,,,,,True oBook.Close False oExcel.Quit WScript.Echo "Done"
Le message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Dim oExcel Set oExcel = CreateObject("Excel.Application") Dim oBook Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0)) oBook.SaveAs WScript.Arguments.Item(1), 8,,,,,,,,,,True oBook.Close False oExcel.Quit WScript.Echo "Done"
Actuellement je suis bloqué sur le message d'erreur.
Merci par avance pour toute l'aide que vous pourrez m'appporter.
R. S.
Partager