OVH Cloud OVH Cloud

Commande externe

13 réponses
Avatar
Michel
Bonsoir à toutes et à tous,

décidemment c'est un grand jour, seconde question :

cette commande
----------------
stAppName = "C:\CNDS\Import\Renomme.bat "
Call Shell(stAppName, 1)
---------------
lance un fichier dos "Renomme.bat"
---------------
Ren c:\cnds\import\*InscriptionCNDS.xls InscriptionCNDS.xls
---------------

Peut on faire cela directement depuis Access

D'avance merci
Michel

3 réponses

1 2
Avatar
Michel
Re bonsoir Eric

ça marche, je crois que j'ai compris comment il fallait faire et je fais
bien une copie de sauvegarde avant de renommer.
Je suis content c'est la première fois que j'arrive a écrire quelque chose
en VBA.
Maintenant, je vais essayer de faire en sorte que n'importe quel fichier
.Xls soit renommé InscriptionCNDS.Xls sans pour autant le contenir dans son
nom d'origine.

Merci pour ton aide
Ce forum est super
Michel


------------
Dim strChemin As String, strOldFile As String, strCheminNew As String
Dim strNewFile As String
strChemin = "c:cndsimport"
strCheminNew = "c:Club_Ligueimport"
strNewFile = "InscriptionCNDS.xls"
strOldFile = Dir(strChemin & "*" & strFileNew)
FileCopy strChemin & strOldFile, strCheminNew & strOldFile
' s'il existe déjà un fichier portant ce nom, on le supprime
If Dir(strChemin & strNewFile) <> "" Then Kill strChemin & strNewFile
strOldFile = Dir(strChemin & "*" & strNewFile)
If strOldFile <> "" Then
Name strChemin & strOldFile As strChemin & strNewFile
End If
------------



"Eric" a écrit dans le message de news:

re,

C'est une erreur de copier-coller
La ligne doit être:
If Dir(strChemin & strNewFile) <> "" Then Kill strChemin & strNewFile

Oui tu peux faire une copy avec la fonction FileCopy. Je dois m'absenter.
Je regarderai en rentrant ce soir au cas où ...

Tu peux virer le ligne neutralisée par l '. Elle n'a de raison d'être que
si le chemin n'a pas de en fin, ce qui n'est pas ton cas.

Merci Eric,
cela marche en grande partie,
Juste la ligne
Then Kill Dir(strChemin & strNewFile)
qui génére une erreur et ce teinte en jaune ?
Cela bien sur uniquement lorsque un fichier portant l'intitulé
InscriptionCNDS a été oublié dans le dossier.

D'autre part est il possible de faire une copie du fichier initial dans
"C:Club_LigueImport", avant qu'il ne soit renommé.

Encore merci
Michel



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
Bonsoir,

Sous la ligne
strOldFile = Dir(strChemin & "*" & strNewFile)
tu mets:
FileCopy strOldFile, "c:Club_LigueImport" & strOldFile

(ou si ca ne marche pas:
FileCopy strChemin & strOldFile, "c:Club_LigueImport" & strOldFile)


Pour la copy de sauvegarde, j'ai fais cela :

FileCopy "C:CNDSImport"*".xls", "c:Club_LigueImport"

ça marche pas ?




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
Re,

C'est bien.
Juste une petite remarque. Tu fais exécuter 2 fois
strOldFile = Dir(strChemin & "*" & strFileNew)

Une seule fois aurait suffi si ton instruction
FileCopy strChemin & strOldFile, strCheminNew & strOldFile
avait été écrite juste avant le
Name strChemin & strOldFile As strChemin & strNewFile

comme cela :
strOldFile = Dir(strChemin & "*" & strNewFile)
If strOldFile <> "" Then
FileCopy strChemin & strOldFile, strCheminNew & strOldFile
Name strChemin & strOldFile As strChemin & strNewFile
End If

et non comme je te l'ai indiqué sur le post précédent. Tu vois, on fait
tous des erreurs ;-)



Re bonsoir Eric

ça marche, je crois que j'ai compris comment il fallait faire et je fais
bien une copie de sauvegarde avant de renommer.
Je suis content c'est la première fois que j'arrive a écrire quelque chose
en VBA.
Maintenant, je vais essayer de faire en sorte que n'importe quel fichier
.Xls soit renommé InscriptionCNDS.Xls sans pour autant le contenir dans son
nom d'origine.

Merci pour ton aide
Ce forum est super
Michel


------------
Dim strChemin As String, strOldFile As String, strCheminNew As String
Dim strNewFile As String
strChemin = "c:cndsimport"
strCheminNew = "c:Club_Ligueimport"
strNewFile = "InscriptionCNDS.xls"
strOldFile = Dir(strChemin & "*" & strFileNew)
FileCopy strChemin & strOldFile, strCheminNew & strOldFile
' s'il existe déjà un fichier portant ce nom, on le supprime
If Dir(strChemin & strNewFile) <> "" Then Kill strChemin & strNewFile
strOldFile = Dir(strChemin & "*" & strNewFile)
If strOldFile <> "" Then
Name strChemin & strOldFile As strChemin & strNewFile
End If
------------



"Eric" a écrit dans le message de news:


re,

C'est une erreur de copier-coller
La ligne doit être:
If Dir(strChemin & strNewFile) <> "" Then Kill strChemin & strNewFile

Oui tu peux faire une copy avec la fonction FileCopy. Je dois m'absenter.
Je regarderai en rentrant ce soir au cas où ...

Tu peux virer le ligne neutralisée par l '. Elle n'a de raison d'être que
si le chemin n'a pas de en fin, ce qui n'est pas ton cas.


Merci Eric,
cela marche en grande partie,
Juste la ligne
Then Kill Dir(strChemin & strNewFile)
qui génére une erreur et ce teinte en jaune ?
Cela bien sur uniquement lorsque un fichier portant l'intitulé
InscriptionCNDS a été oublié dans le dossier.

D'autre part est il possible de faire une copie du fichier initial dans
"C:Club_LigueImport", avant qu'il ne soit renommé.

Encore merci
Michel



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



1 2