Bonjour,

J'ai un .bat qui a pour but de venir récupérer des fichiers pour les mettre dans la racine. et dont voici l'extrait:

Code : 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
@ECHO OFF
 
:top
REM ******************************
REM * user et mot de passe       *
REM ******************************
set user=#######
set passwd=######
 
REM *********************************************
REM * les fichiers seront sur le disque suivant *
REM *********************************************
K:\#########
 
for /F "tokens=1-4 delims=/ " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
echo Date: %yyyymmdd%
 
 
set CRCO=10.103.249.21
 
 
get cftp
 
:cftp
ECHO open %CRCO% >  passFTP.txt
ECHO %USER%   	   >> passFTP.txt
ECHO %PASSWD%      >> passFTP.txt
ECHO GET 'CXSIAB00.JDPSN000.JDCJAAS1(0)' CRCO.txt >> passFTP.txt
ECHO close >> passFTP.txt
ECHO quit >> passFTP.txt
ftp -s:passFTP.txt
 
del passFTP.txt
 
ECHO.
REM ECHO Hasta la vista baby !
 
:end
:
Et dans mon fichier Excel qui est censé afficher les données des fichiers récupérés j'ai une macro de ce type:

Code : 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
Sub MiseEnForme()
 
stArgs = "K:\##############"
retval = Shell(stArgs)
 
    Sheets("Modèle").Select
    Sheets("Modèle").Copy Before:=Sheets(1)
    Range("A17").Select
    Selection.Copy
    Sheets("Modèle (2)").Select
    Sheets("Modèle (2)").Name = "26 mai 2010"
    Range("A17").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("C2:C14").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;K:\########\CRCO.txt", _
        Destination:=Range("C2"))
        .Name = "CRCO"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

Mon problème est que si je lance d'abord le .bat puis la macro cela marche, mais si je lance la macro directement, cela ne marche pas, les fichiers (ici CRCO) ne sont pas créés.

Merci d'avance.