Macro Excel avec exécution d'un .bat
Bonjour,
Mon fichier d'entrée contient 4 rubriques : ville entrée, dep entrée, ville sortie, dep sortie
Ma macro créé un fichier avec 2 lignes.
1er ligne : ville entrée, dep entrée
2ème ligne : ville sortie, dep sortie
Je voudrais pouvoir exécuter un .bat à partir de cette macro Excel. Est-ce possible ? Ce .bat lance une requète avec un autre utilitaire qui me renvoit le kilomètrage entre les 2 villes. En sortie, je dois récupérer un fichier avec toutes les informations du fichier en entrée, plus le kilométrage
Merci de vos idées
Mon fichier d'entrée contient 4 rubriques : ville entrée, dep entrée, ville sortie, dep sortie
Ma macro créé un fichier avec 2 lignes.
1er ligne : ville entrée, dep entrée
2ème ligne : ville sortie, dep sortie
Je voudrais pouvoir exécuter un .bat à partir de cette macro Excel. Est-ce possible ? Ce .bat lance une requète avec un autre utilitaire qui me renvoit le kilomètrage entre les 2 villes. En sortie, je dois récupérer un fichier avec toutes les informations du fichier en entrée, plus le kilométrage
Merci de vos idées
Configuration: Windows XP Internet Explorer 6.0
24 réponses
-
Contributeurbonjour
Ma macro crée n fichiers qui seront ensuite traités n fois par le .bat
Il suffit de passer le nom du fichier en paramètre au .bat et lorsque tu crées le fichier tu lances l'exécution dans la même boucle.
-
Contributeurbonjour
Ta feuille est une feuille créée par copie et si tu as une erreur c'est qu'elle doit déjà être supprimée.
Soit il faut mettre des contrôles sur les erreurs et c'est assez complexe car il y a beaucoup de cas.
Soit il est possible de faire une boucle pour parcourir les feuilles et supprimer si elle est présente, c'est plus simple.
For f = 1 to sheets.count
if sheet(f).name = "xxxxxxx" then sheet(f).delete
next f -
Comment supprimer une feuille à l'intérieur de la macro :
Cette ligne me renvoit un message d'erreur .
'Suppression de la copie SAP ( ) '
Workbooks("SAP2LOXANE").Sheets("SAP (2)").Delete
Merci de ton retour d'info -
Contributeurbonjour
If test <> 0 Then LectureResultats (n) inutile car l'appel suivant fait la même chose ' Incrément secondaire pour les résultats If LectureResultats(n) <> 0 Then ' Gestion de la ligne dans le cas où le résultat Loxane n'est pas bon ( km négatif) n = n + 1 End If End If
Ta ligne soulignée ne sert à rien car tu fais 2 fois la même chose avec l'appel if...
If Range("E2") > 0 Then LectureResultats = 1 End If à déplacer Selection.Copy Workbooks("SAP2LOXANE.xls").Sheets("LOXANE").Activate Range("G1").Select ActiveSheet.Paste Beep Worksheets("LOXANE").Cells(i, 1).Value = Left(Worksheets("LOXANE").Cells(1, 11).Value, 2) Worksheets("LOXANE").Cells(i, 2).Value = Worksheets("LOXANE").Cells(1, 10).Value Worksheets("LOXANE").Cells(i, 3).Value = Left(Worksheets("LOXANE").Cells(2, 11).Value, 2) Worksheets("LOXANE").Cells(i, 4).Value = Worksheets("LOXANE").Cells(2, 10).Value Worksheets("LOXANE").Cells(i, 5).Value = Worksheets("LOXANE").Cells(1, 7).Value récupérer tes données ici Beep ' Suppression Donnnées source Range("G1:K3").Select Selection.ClearContents Workbooks("LOXKM").Sheets("LOXKM").Activate Windows("LOXKM").Activate ' mettre ton "end if" ici ActiveWorkbook.Close Workbooks("SAP2LOXANE.xls").Sheets("LOXANE").Activate End Function
Si j'ai bien compris ton souci...
@+ -
Bonjour
J'ai malheureusement encore un problème. Ma macro crée en sortie le fichier de la feuille Loxane, mais je voudrais récupérer les infos des cellules de la feuille du fichier en entrée qui est dans la feuille SAP.JE pense qu'il me faut faire des modifs au niveau de la lecture des résultats mais il faut tenir compte des fameuses lignes où le calcul et négatif.
Comment faire ?
Merci
Florence
En entrée : Département départ, Ville Départ, Département Arrivée, Ville Arrivée
En sortie : reprise des infos du fichier d'entrée + kilométrage calculé
Sub SAPtoLOXANE()
'
' SAPtoLOXANE
' Version : 1.0
' Date : 19/11/2007
' Blocage des alertes et des fenêtres pop-up
Application.DisplayAlerts = False
' Préparation de la feuille Loxane
Worksheets("LOXANE").Select
Cells.Select
Selection.ClearContents
Range("A1").Select
' Préparation de la feuille de données SAP
Worksheets("SAP").Select
Cells.Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
' Declaration des variables et initialisation
Worksheets("ListeFichiers").Cells(4, 2).Value = 0 ' Zone de test pour la présence des fichiers
Dim i, n As Integer
i = 1
n = 1
Dim iMax, fichierResultExist, fichierDataExist, test As Integer
iMax = 1
Dim fichierLoxane As String
fichierLoxane = ""
' Chargement des données à partir du fichier SAP
FindFileData
testF = Worksheets("ListeFichiers").Cells(4, 2).Value
If testF <> 0 Then
ChargerDonneesSAP
End If
' Correction des noms de villes SAP pour reconnaissance par Loxane
corrigerNomVillesIn
' Positionnement pour Traitement des données
Worksheets("SAP").Select
' Boucle principale sur les lignes à triater
While Worksheets("SAP").Cells(i, 1).Value <> ""
' Initialisation du booléeen, existant d'un fichier résultat
test = 0
'Copie des données ligne à ligne dans la feuille d'envoi vers Loxane
Worksheets("Output").Cells(1, 1).Value = "Code_postal"
Worksheets("Output").Cells(1, 2).Value = "Ville"
Worksheets("Output").Cells(1, 3).Value = "Code_Pays"
Worksheets("Output").Cells(2, 1).Value = Worksheets("SAP").Cells(i, 1).Value
Worksheets("Output").Cells(2, 2).Value = Worksheets("SAP").Cells(i, 2).Value
Worksheets("Output").Cells(2, 3).Value = "F"
Worksheets("Output").Cells(3, 1).Value = Worksheets("SAP").Cells(i, 3).Value
Worksheets("Output").Cells(3, 2).Value = Worksheets("SAP").Cells(i, 4).Value
Worksheets("Output").Cells(3, 3).Value = "F"
' Positionnement avant copie
Sheets("Output").Select
Range("A1").Select
' Enregistrement dans le fichier de traitement Loxane (fichier LOXVKM)
EnregLOXVKM
' Enregistrement du dossier XLS (conservation de structure)
ActiveWorkbook.SaveAs Filename:= _
"D:\Loxane\SAP2LOXANE.xls" _
, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
' Lancement du calcul par Loxane (copie du fichier data et de la requête)
' Copie du fichier requête et du fichier de données à traiter.
Shell "d:\Loxane\TREQITI.BAT"
' Temporisation 5" pour le calcul du serveur Loxane
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 5
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
' Chargement des données résultats de Loxane (fichier LOXKM) si existe
FindFileRes
test = Worksheets("ListeFichiers").Cells(4, 2).Value
If test <> 0 Then
LectureResultats (n)
' Incrément secondaire pour les résultats
If LectureResultats(n) <> 0 Then
' Gestion de la ligne dans le cas où le résultat Loxane n'est pas bon ( km négatif)
n = n + 1
End If
End If
' Suppression fichier résultat de Loxane après traitement pour ne pas rendre
' de faux résultat
Shell "d:\Loxane\del_res.BAT"
' Incrément principal (traitement des lignes demandées par SAP)
i = i + 1
Wend
' Reprise des noms de ville connus par SAP
corrigerNomVillesOut
If testF <> 0 Then
' Création d'un fichier pour SAP avec Timestamp
FileBackToSAP
' Passage des fichiers SAP dans le sous-dossier Archive
Shell "d:\Loxane\arc_sap.BAT"
End If
' Sauvegarde du dossier XLS et fermeture
ActiveWorkbook.Save
Application.Quit
ActiveWorkbook.Close
End Sub
Sub corrigerNomVillesIn()
'Reprise des noms de ville SAP en fonction de la table correction pour acceptation par Loxane
Worksheets("SAP").Select
Dim k, l As Integer
k = 1
l = 2
' Boucle principale sur les noms à corriger
While Worksheets("SAP").Cells(k, 1).Value <> ""
'Boucle secondaire sur les corrections connues
l = 2
While Worksheets("correction").Cells(l, 1).Value <> ""
If Worksheets("SAP").Cells(k, 2).Value = Worksheets("correction").Cells(l, 1).Value Then
Worksheets("SAP").Cells(k, 2).Value = Worksheets("correction").Cells(l, 2).Value
End If
If Worksheets("SAP").Cells(k, 4).Value = Worksheets("correction").Cells(l, 1).Value Then
Worksheets("SAP").Cells(k, 4).Value = Worksheets("correction").Cells(l, 2).Value
End If
l = l + 1
Wend
k = k + 1
Wend
End Sub
Sub corrigerNomVillesOut()
'Reprise des noms de ville SAP en fonction de la table correction pour acceptation par Loxane
Worksheets("LOXANE").Select
Dim k, l As Integer
k = 1
l = 2
' Boucle principale sur les noms à corriger
While Worksheets("LOXANE").Cells(k, 1).Value <> ""
'Boucle secondaire sur les corrections connues
l = 2
While Worksheets("correction").Cells(l, 1).Value <> ""
If Worksheets("LOXANE").Cells(k, 2).Value = Worksheets("correction").Cells(l, 2).Value Then
Worksheets("LOXANE").Cells(k, 2).Value = Worksheets("correction").Cells(l, 1).Value
End If
If Worksheets("LOXANE").Cells(k, 4).Value = Worksheets("correction").Cells(l, 2).Value Then
Worksheets("LOXANE").Cells(k, 4).Value = Worksheets("correction").Cells(l, 1).Value
End If
l = l + 1
Wend
k = k + 1
Wend
End Sub
Function Enreg(i As Integer)
' Non utilisée
Sheets("output").Select
loxanefichier = "output-" + Str(i)
ChDir _
"D:\Loxane"
ActiveWorkbook.SaveAs Filename:= _
"D:\Loxane\" + loxanefichier + ".txt" _
, FileFormat:=xlText, CreateBackup:=False
ActiveSheet.Select
ActiveSheet.Name = "output"
Range("H3").Select
End Function
Function EnregLOXVKM()
' Enregistrement du fichier de données à traiter pour Loxane
Sheets("output").Select
loxanefichier = "LOXVKM"
ChDir _
"D:\Loxane"
ActiveWorkbook.SaveAs Filename:= _
"D:\Loxane\" + loxanefichier _
, FileFormat:=xlText, CreateBackup:=False
ActiveSheet.Select
ActiveSheet.Name = "output"
Range("H3").Select
End Function
Sub FindFileRes()
'Test l'existence du fichier résultat de Loxane
With Application.FileSearch
.NewSearch
.LookIn = "d:\loxane\"
.SearchSubFolders = False
.Filename = "LOXKM"
End With
With Application.FileSearch
If .Execute() > 0 Then
Worksheets("ListeFichiers").Cells(4, 2).Value = .FoundFiles.Count
Else
Worksheets("ListeFichiers").Cells(4, 2).Value = 0
End If
End With
End Sub
Sub FindFileData()
'Test l'existence de fichier(s) source(s) issu(s) de SAP
With Application.FileSearch
.NewSearch
.LookIn = "c:\test\fromSAP"
.SearchSubFolders = False
.Filename = "LOXANE*.CSV"
End With
With Application.FileSearch
If .Execute() > 0 Then
Worksheets("ListeFichiers").Cells(4, 2).Value = .FoundFiles.Count
Else
Worksheets("ListeFichiers").Cells(4, 2).Value = 0
End If
End With
End Sub
Function LectureResultats(i As Integer)
' Ouverture du fichier retour de Loxane
ChDir "D:\Loxane\WayServ\Req"
Workbooks.OpenText Filename:="D:\Loxane\WayServ\Req\LOXKM", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), _
Array(3, 2), Array(4, 2), Array(5, 2)), TrailingMinusNumbers:=True
' Recopie des données
Windows("LOXKM").Activate
Range("A1:E2").Select
'Gestion de la ligne où le résultat Loxane renvoit un km négatif - ne pas prendre en compte
LectureResultats = 0
If Range("E2") > 0 Then
LectureResultats = 1
End If
Selection.Copy
Workbooks("SAP2LOXANE.xls").Sheets("LOXANE").Activate
Range("G1").Select
ActiveSheet.Paste
Beep
Worksheets("LOXANE").Cells(i, 1).Value = Left(Worksheets("LOXANE").Cells(1, 11).Value, 2)
Worksheets("LOXANE").Cells(i, 2).Value = Worksheets("LOXANE").Cells(1, 10).Value
Worksheets("LOXANE").Cells(i, 3).Value = Left(Worksheets("LOXANE").Cells(2, 11).Value, 2)
Worksheets("LOXANE").Cells(i, 4).Value = Worksheets("LOXANE").Cells(2, 10).Value
Worksheets("LOXANE").Cells(i, 5).Value = Worksheets("LOXANE").Cells(1, 7).Value
Beep
' Suppression Donnnées source
Range("G1:K3").Select
Selection.ClearContents
Workbooks("LOXKM").Sheets("LOXKM").Activate
Windows("LOXKM").Activate
ActiveWorkbook.Close
Workbooks("SAP2LOXANE.xls").Sheets("LOXANE").Activate
End Function
Sub ChargerDonneesSAP()
'Lister les fichiers à traiter
ListFile
'Préparation de la feuille de données SAP
Worksheets("SAP").Select
Cells.Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
Application.DisplayAlerts = False
Dim f, indexLibre As Integer
f = 6
indexLibre = 1
Dim fichierTraite As String
'Ouverture des fichiers en boucle
While Worksheets("ListeFichiers").Cells(f, 1).Value <> ""
fichierTraite = Worksheets("ListeFichiers").Cells(f, 1).Value
'Positionnement de l'index de position pour copie des nouvelles données
indexLibre = 1
While Worksheets("SAP").Cells(indexLibre, 1).Value <> ""
indexLibre = indexLibre + 1
Wend
ChDir "c:\test\fromSAP"
Workbooks.Open Filename:=fichierTraite
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
Semicolon:=True
' Copie des résultats
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
' Collage des résultats au niveau de l'index de positionnement
Workbooks("SAP2LOXANE.xls").Sheets("SAP").Activate
Cells(indexLibre, 1).Select
ActiveSheet.Paste
'Nom du fichier (extrait du chemin complet)
fg = Dir(fichierTraite)
' Fermeture du fichier source
Workbooks(fg).Activate
ActiveWorkbook.Close
' Sauvegarde du dossier XL
Workbooks("SAP2LOXANE.xls").Sheets("SAP").Activate
ActiveWorkbook.Save
' Incrément principal
f = f + 1
Wend
End Sub
Sub ListFile()
' Nettoyage de la zone de liste fichiers
Worksheets("ListeFichiers").Select
Range("A6:B176").Select
Selection.ClearContents
Range("A5").Select
Dim i As Integer
With Application.FileSearch
.NewSearch
.LookIn = Range("b2") & "\"
.SearchSubFolders = True
.Filename = Range("b3").Value
End With
With Application.FileSearch
If .Execute() > 0 Then
'MsgBox .FoundFiles.Count & " Fichier(s) trouvé(s) "
Range("A6").Select
For i = 1 To .FoundFiles.Count
ActiveCell.Value = .FoundFiles(i)
ActiveCell.Offset(1, 0).Range("A1").Select
Next i
Else
' Blocage : pas de fichier trouvé malgré le test initial
MsgBox "Aucun fichier correspondant à ce critère"
End If
Range("A6").Select
End With
End Sub
Sub FileBackToSAP()
' Sauvegarde du fichier Timestampé
Dim FichierPourSAP As String
FichierPourSAP = "LOXANE_FR_" + Trim(Str(Year(Now()))) + Trim(Str(Month(Now())))
FichierPourSAP = FichierPourSAP + Trim(Str(Day(Now())))
FichierPourSAP = FichierPourSAP + "-" + Trim(Str(Hour(Now())))
FichierPourSAP = FichierPourSAP + Trim(Str(Minute(Now())))
FichierPourSAP = FichierPourSAP + Trim(Str(Second(Now()))) + ".csv"
Sheets("LOXANE").Select
Range("A1").Select
ChDir _
"c:\test\toSAP"
ActiveWorkbook.SaveAs Filename:= _
"c:\test\toSAP\" + FichierPourSAP _
, FileFormat:=xlCSV, CreateBackup:=False
ActiveSheet.Select
ActiveSheet.Name = "LOXANE"
Range("H3").Select
Shell "convertit.bat " & FichierPourSAP & " " & Replace(FichierPourSAP, ".csv", "final.csv")
End Sub -
Bonjour
Trop super, tout marche. Merci beaucoup.
Commande Application.Quit utilisée
Florence -
Contributeurbonjour
Comment le fermer ?
On ne le ferme pas on le quitte...
Quit, méthode Cette méthode quitte Microsoft Excel.
-
Oups, j'ai encore une question.
Quelle est l'instruction pour fermer Excel
J'ai créé une tache schedule, qui lance la macro Excel, mais le classeur reste ouvert.
Comment le fermer ?
Merci d'avance pour la réponse
Florence -
Je viens de faire le test.
Ca marche ;-))))))))))
Merci beaucoup pour ton aide précieuse qui m'a enlevée un stress terrible, car la date butoir du fonctionnement en automatique approchait à grands pas.
J'ai mis dans le test cela :
if LectureResultats(n)<> 0 then n = n + 1
Merci à l'auvergne depuis la marne. -
Contributeurbonjour
Dans la fonctionLectureResultats = 0 If Range("E2") > 0 Then LectureResultats = 1 Selection.Copy
Dans l'appelLectureResultats (n) ' Incrément secondaire pour les résultats si présent if LectureResultats<> 0 then n = n + 1
Cela permet d'avoir un résultat utile à la fonction car tu as en fait utilisé la fonction comme une procédure.
-
Bonjour
Voici l'appel de ma fonction Lecture résultat :
' Chargement des données résultats de Loxane (fichier LOXKM) si existe
FindFileRes
test = Worksheets("ListeFichiers").Cells(4, 2).Value
If test <> 0 Then
LectureResultats (n)
' Incrément secondaire pour les résultats
n = n + 1
End If
Je ne vois pas comment je peux mettre le test qui me permettrait de ne pas prendre en compte la ligne où le calcul du kilométrage est négatif. Je ne comprends déjà pas la structure de ce code :
test = Worksheets("ListeFichiers").Cells(4, 2).Value
Merci de ton aide.
Florence -
Contributeurbonjour
En fait ce que tu nous donnes comme code ne concerne pas ton problème.
Tes données sont mises par la fonction sur la ligne i mais c'est l'appel à la fonction que tu devrais regarder car c'est là qu'il ne faudrait pas faire progresser i.
ChDir "D:\Loxane\WayServ\Req"
cette ligne est inutile puisque tes chemins sont complets.
-
Bonjour
Je vourdrais pouvoir éliminer les lignes où le résultat est négatif. J'ai ajouté le test ( là où il y a ), mais cela m'écrit quand même une ligne mais à blanc. Je ne veux pas de ligne à blanc. je veux que mon fichier résultat ait des lignes qui se suivent.
Merci du retour d'info
' Ouverture du fichier retour de Loxane
ChDir "D:\Loxane\WayServ\Req"
Workbooks.OpenText Filename:="D:\Loxane\WayServ\Req\LOXKM", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, 2), _
Array(3, 2), Array(4, 2), Array(5, 2)), TrailingMinusNumbers:=True
' Recopie des données
Windows("LOXKM").Activate
Range("A1:E2").Select
<gras> If Range("E2") > 0 Then
Selection.Copy
Workbooks("SAP2LOXANE.xls").Sheets("LOXANE").Activate
Range("G1").Select
ActiveSheet.Paste
Beep
Worksheets("LOXANE").Cells(i, 1).Value = Left(Worksheets("LOXANE").Cells(1, 11).Value, 2)
Worksheets("LOXANE").Cells(i, 2).Value = Worksheets("LOXANE").Cells(1, 10).Value
Worksheets("LOXANE").Cells(i, 3).Value = Left(Worksheets("LOXANE").Cells(2, 11).Value, 2)
Worksheets("LOXANE").Cells(i, 4).Value = Worksheets("LOXANE").Cells(2, 10).Value
Worksheets("LOXANE").Cells(i, 5).Value = Worksheets("LOXANE").Cells(1, 7).Value
Beep
End If
' Suppression Donnnées source
Range("G1:K3").Select
Selection.ClearContents
Workbooks("LOXKM").Sheets("LOXKM").Activate
Windows("LOXKM").Activate
ActiveWorkbook.Close
Workbooks("SAP2LOXANE.xls").Sheets("LOXANE").Activate
End Function -
Bonjour,
J'ai presque fini, ma macro fonctionne et crée un fichier avec les bonnes zones, mais j'ai été fortement aidée.( Il va falloir que je demande une formation pour comprendre tout ! )Seulement ces zones sont séparées par des carrés, je voudrais que ces zones soient séparées par des ; . comme faire dans la macro ?
Merci pour le retour d'info -
Ne faut-il pas que je mette mon appel au .bat à la création du fichier comme suit; mais avec quel paramètrage derrière TSREQITI.BAT ?
Sheets("output").Select
loxanefichier = "output-" + Str(i)
ChDir _
"D:\Loxane"
ActiveWorkbook.SaveAs Filename:= _
"D:\Loxane\" + loxanefichier + ".txt" _
, FileFormat:=xlText, CreateBackup:=False
Shell "d:\REQLOX\TSREQITI.BAT"
ActiveSheet.Select
ActiveSheet.Name = "output"
Range("H3").Select -
La première ligne copie le fichier dans le répertoire REQ pour être traité par CALCUL_ITI.RX (2ème ligne ) qui renvoit un kilométrage.
Il faut ensuite que je récupére ce kilométrage pour le remettre avec le couple de mon fichier qui est en entrée.
L'appel au shell est dans la boucle de création du fichier output- x.txt, mais cela ne fonctionne pas bien. J'ai peut-être mal renseigné mon appel :
Application.DisplayAlerts = False
zFormattageNomVilles
Worksheets("SAP").Select
i = 1
fichierloxane = ""
While Worksheets("SAP").Cells(i, 1).Value <> ""
Worksheets("Output").Cells(2, 1).Value = Worksheets("SAP").Cells(i, 1).Value
Worksheets("Output").Cells(2, 2).Value = Worksheets("SAP").Cells(i, 2).Value
Worksheets("Output").Cells(3, 1).Value = Worksheets("SAP").Cells(i, 3).Value
Worksheets("Output").Cells(3, 2).Value = Worksheets("SAP").Cells(i, 4).Value
Sheets("Output").Select
Range("A1").Select
Enreg (i)
Shell "d:\REQLOX\TSREQITI.BAT i.txt"
i = i + 1
Wend
Et dans mon .Bat :
copy "D:\LOXANE\output- %1" D:\LOXANE\TEST\LOXANET\LOXVKM%1
copy D:\LOXANE\TEST\LOXANET\LOXVKM "D:\LOXANe\WAYSERV\REQ"
copy D:\REQLOX\CALCUL_ITI.RX "D:\LOXANE\WayServ\REQ"
Pas facile pour moi, merci de toutes tes infos et de ton aide. -
Contributeurbonjour
En fait pour que cela fonctionne, il faudrait tu tu traite en boucle tes fichiers et à chaque fichier créé lancer le .bat.
Pour lancer ton .bat
Shell "d:\LOXANE\REQBAT.BAT x.txt"
Dans le .bat tu ne mets qu'une ligne pour un fichier banalisé
copy "D:\LOXANE\output- %1" D:\LOXANE\TEST\LOXANET\LOXVKM%1
Mais je ne vois pas bien ce que tu veux faire avec les autres lignes ?
copy D:\LOXANE\TEST\LOXANET\LOXVKM "D:\LOXANe\WAYSERV\REQ"
copy D:\REQLOX\CALCUL_ITI.RX "D:\LOXANE\WayServ\REQ"
-
Bonjour
J'ai toujours des problèmes avec ma macro excel et le lancement du .bat ( avec paramètres ).
Les fichiers créés par ma macro sont de cette forme : output- x.txt ( x est un incrément )
Je dois lancer un .bat qui va prendre en entrée les fichiers output- x.txt
Je ne sais pas comment passer le fichier en paramètre dans le shell ( dont voici la struture que j'ai mise dans ma macro )
Shell "d:\LOXANE\REQBAT.BAT"
Exemple du .bat : ( 6 correspond au 6ème fichier créé )
copy "D:\LOXANE\output- 6.txt" D:\LOXANE\TEST\LOXANET\LOXVKM.TXT
copy D:\LOXANE\TEST\LOXANET\LOXVKM "D:\LOXANe\WAYSERV\REQ"
copy D:\REQLOX\CALCUL_ITI.RX "D:\LOXANE\WayServ\REQ"
Merci du retour d'info. -
Contributeurbonjour
Je ne sais comment faire pour mettre la macro en message personne
Tu double cliques sur le pseudo en haut de ce message et sur la nouvelle fenêtre tu choisis "lui écrire un message" puis tu fais un coller de ta macro.
@+ -
Bonjour
Merci de toutes tes infos.
Je ne sais comment faire pour mettre la macro en message personnel : c'est la première fois que j'utilise un forum.
Merci
- 1
- 2
Suivant