Lancer un .bat depuis une macro VBA Word

Résolu
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
 refflex -
Bonjour,

J'utilise VB pour automatiser un rapport Word et il ne me reste plus qu'une étape.
Un programme R que je lance automatiquement via un fichier .bat me génère des graphs qui sont ensuite insérés par VB dans mon doc Word.
J'aurai voulu savoir si ma macro VB peut lancer mon .bat pour générer les graphs et ensuite les insérer.
J'ai trouvé en cherchant un peu qu'il fallait que j'utilise la commance Shell mais cela ne fonctionne pas. le fichier bat n'est pas lancer.

Merci d'avance de votre aide
Nathalie
A voir également:

17 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Peux-tu nous mettre ici le bout de code avec ta commande Shell, stp ?

Merci.

;o)
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Sub AutoOpen()
'
' SelectionDateEnTete Macro
' Macro enregistrée le 05/11/2009 par simon-nat
'

' Gestion des dates en En Tête

Shell ("Q:\CLIMAT\5_Previsions_du_climat\Prévisions saisonnières\Bulletins hebdomadaires\Outils pour le verso de Celsius\Utilitaire_Celsius_pour_vista_nathalie.bat")


Et après il y a tout mon code de mise en page

Et ca c'est ce qu'il y a dans mon .bat qui lance un programme R
@ECHO OFF
Regfree -EnvPathAdd "C:\PROGRA~1\R\R-2.5.0\bin"
Rterm --slave < Utilitaire_Celsius_pour_vista_nathalie.R >Utilitaire_Celsius_pour_vista_nathalie.log
0
ezine
 
J'ai eut le même pb que toi, je pense que le défaut provient de la longueur du nom de ton répertoire.
La fonction shell ne semble pas accepter des paramètres trop long.

Pour contourner le pb tu peux mettre juste avant le lancement de ton shell un chdir qui change le répertoire ou se lance ton shell

Dim Rep as String
Rep = "C:\Documents and Settings\xxxx\Bureau\"
Chdir Rep
Appli = Shell("Macro.bat", 1)
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Je suppose que tu as testé le fichier .bat et qu'il fonctionne ?
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Effectivement il fonctionne très bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
C'est dans le chemin d'accès au fichier qu'il y a un problème.

De mémoire, il me semble que les accents ne sont pas trop appréciés par le DOS et peut être sur le nombre de caractères de la commande.

0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

Je l'ai mis sur mon bureau pour enlever les accents
mais ca ne fonctionne pas mieux
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Est ce normal que mon .bat ne fonctionne plus sur le bureau ?
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Ok le bat marche mais ca fait toujours rien dans mon Word
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Je ne vois pas alors d'où peut venir le problème.

Met ton fichier .bat sur le disque C et met ça dans un module sous Word

Sub Test
   Shell ("C:\Utilitaire_Celsius_pour_vista_nathalie.bat")
End Sub


Met le curseur sur la ligne du Shell et fait F8 puis F5 pour voir si le fichier .bat se lance.

0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
quand je fais F8 ca met la première ligne en jaune
puis F5
rien
...

par contre quand je lance la macro normalement ca fonctionne ... ??
Je ne comprends plus rien à ce qu'il se passe
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
La ligne en jaune quand tu fais F8, c'est normal, c'est le passage en mode Débogage en pas à pas. F5 exécute le code en mode normal.

Quand tu lances la macro Test, le fichier .bat s'exécute ??? Ôo ...

C'est étrange comme comportement ...
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
En fait il faut que tout soit au meme endroit ?
pg R, bat et word ?

Car comme ca ca a l'air de marcher
Par contre quand je copie ma ligne de commande dans mon pg ca marche plus ... ?
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Ta macro AutoOpen() se lance comment ?
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Ok j'ai encore une question
Ce que j'ai fait
j'ai fait un sub test comme tu as fait
et je l'appelle dans ma macro
ca a l'air de fonctionner
mais je voudrai que la suite ne se déclenche qu'une fois le programme R (bat) soit terminé.

Est ce possible ?
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Elle se lance à l'ouverture de Word
0
nanou2183 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   11
 
Ok j'ai encore une question
Ce que j'ai fait
j'ai fait un sub test comme tu as fait
et je l'appelle dans ma macro
ca a l'air de fonctionner
mais je voudrai que la suite ne se déclenche qu'une fois le programme R (bat) soit terminé.

Est ce possible ?
0
refflex
 
Merci des informations qui servent encore aujourd' hui.

cdlt
0