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 :
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"
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
 
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"
Le message d'erreur :
Nom : message d'erreur.png
Affichages : 177
Taille : 18,1 Ko

Actuellement je suis bloqué sur le message d'erreur.

Merci par avance pour toute l'aide que vous pourrez m'appporter.

R. S.