Bonjour à tous,

Je souhaiterais exécuter un fichier batch dans une procédure VBA.
Le fichier batch se trouve dans le même répertoire que l'application Access.

Pour l'instant, j'ai ce bout de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
strPath = Application.CurrentProject.Path & "\CopieMensuelle.bat"
varShell = Shell(strPath,1)
Le programme se lance mais ne s'exécute pas correctement.
C'est un script de copie, si je le lance "à la main", la copie s'effectue normalement, par contre, lorsque le script est lancé via Access, aucun fichier n'est copié (pourtant le script se lance, mais ne plante pas).

Quelqu'un aurait-il une idée d'où peut provenir mon problème?

Merci de bien vouloir me venir en aide.

Si besoin, voilà le fichier .bat en question :

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
REM ================================================================================
REM Copie automatique des fichiers sources vers le répertoire des fichiers de saisie
REM ================================================================================
 
 
@echo off 
:: format de date à adapter dd/mm/yyyy
set $y=%date:~6,4%
set $s=%date:~3,2%
================================
Set $s=%$s:*0=%
if not defined $s set $s=10
Set /a $s+=1
If %$s% gtr 12 Set /A $s=1,$y+=1
================================
(For /F "tokens=%$s%" %%z In (
 "Janvier Fevrier Mars Avril May Juin Juillet Aout Septembre Octobre Novembre Decembre"
) do (
 mkdir "%$y%\%%z"
 replace -a "Sources\Collecte\*.xls" "%$y%\%%z"
))2>nul
 
pause
Edit : Backslash, project, erreurs d’inattention.