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

10 réponses

1 2
Avatar
Eric
Bonjour,

Tu devrais pouvoir le faire directement avec l'instruction Name
Name oldpathname As newpathname


Bonsoir à toutes et à tous,

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

cette commande
----------------
stAppName = "C:CNDSImportRenomme.bat "
Call Shell(stAppName, 1)
---------------
lance un fichier dos "Renomme.bat"
---------------
Ren c:cndsimport*InscriptionCNDS.xls InscriptionCNDS.xls
---------------

Peut on faire cela directement depuis Access

D'avance merci
Michel




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

Avatar
Eric
.../...
Aie, :-(
Elle ne supporte pas les caractères génériques comme l' *
Donc à oublier

Bonsoir à toutes et à tous,

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

cette commande
----------------
stAppName = "C:CNDSImportRenomme.bat "
Call Shell(stAppName, 1)
---------------
lance un fichier dos "Renomme.bat"
---------------
Ren c:cndsimport*InscriptionCNDS.xls InscriptionCNDS.xls
---------------

Peut on faire cela directement depuis Access

D'avance merci
Michel




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

Avatar
Michel
Bonsoir Eric

décidement il va falloir que je t'envoie du champagne, en fin d'année

Name "C:CNDSImport*InscriptionCNDS.xls" As
"C:CNDSImportInscriptionCNDS.xls"

Cela produit une erreur de nom de fichier ?

--
Confirmation de lecture demandée

Michel Bézoteaux

Tél. 01 76 11 04 88 (nouveau N° Tél.)
Fax 08 25 18 74 49


"Eric" a écrit dans le message de news:
%
Bonjour,

Tu devrais pouvoir le faire directement avec l'instruction Name
Name oldpathname As newpathname


Bonsoir à toutes et à tous,

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

cette commande
----------------
stAppName = "C:CNDSImportRenomme.bat "
Call Shell(stAppName, 1)
---------------
lance un fichier dos "Renomme.bat"
---------------
Ren c:cndsimport*InscriptionCNDS.xls InscriptionCNDS.xls
---------------

Peut on faire cela directement depuis Access

D'avance merci
Michel




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



Avatar
Eric
re,

Sur mon 2eme post je te disais que Name ne supporte pas les caractères
génériques dans les arguments, donc ce n'est pas bon dans ton cas et je
n'avais pas réagi à la 1ere lecture. Désolé pour la fausse joie ;-)

Bonsoir Eric
Name "C:CNDSImport*InscriptionCNDS.xls" As
"C:CNDSImportInscriptionCNDS.xls"

Cela produit une erreur de nom de fichier ?



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

Avatar
Michel
Je m'etais dit que s'était peut être une histoire de virgule ou point
virgule
Mais bon...

Est ce qu'il y aurais une autre manière d'arriver au résultat

Merci


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

re,

Sur mon 2eme post je te disais que Name ne supporte pas les caractères
génériques dans les arguments, donc ce n'est pas bon dans ton cas et je
n'avais pas réagi à la 1ere lecture. Désolé pour la fausse joie ;-)

Bonsoir Eric
Name "C:CNDSImport*InscriptionCNDS.xls" As
"C:CNDSImportInscriptionCNDS.xls"

Cela produit une erreur de nom de fichier ?



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



Avatar
Eric
Bonjour,

Tu pourrais faire quelque chose comme :
Sub zz()
Dim strChemin As String, strOldFile As String
Dim strNewFile As String
strChemin = "c:cndsimport"
' If Right(strChemin, 1) <> "" Then strChemin = strChemin & ""
strNewFile = "InscriptionCNDS.xls"
' s'il existe déjà un fichier portant ce nom, on le supprime
If Dir(strChemin & strNewFile) <> "" Then Kill Dir(strChemin &
strNewFile)
strOldFile = Dir(strChemin & "*" & strNewFile)
If strOldFile <> "" Then
Name strChemin & strOldFile As strChemin & strNewFile
End If
End Sub

Je m'etais dit que s'était peut être une histoire de virgule ou point
virgule
Mais bon...

Est ce qu'il y aurais une autre manière d'arriver au résultat

Merci




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

Avatar
Michel
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

PS : je ne comprend pas la ligne :
' If Right(strChemin, 1) <> "" Then strChemin = strChemin & ""
strNewFile = "InscriptionCNDS.xls"

qui semble neutralisé par l'apostrophe ?


-------------------------------------------------------
Private Sub Commande37_Click()

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


--
Confirmation de lecture demandée

Michel Bézoteaux

Tél. 01 76 11 04 88 (nouveau N° Tél.)
Fax 08 25 18 74 49


"Eric" a écrit dans le message de news:
%
Bonjour,

Tu pourrais faire quelque chose comme :
Sub zz()
Dim strChemin As String, strOldFile As String
Dim strNewFile As String
strChemin = "c:cndsimport"
' If Right(strChemin, 1) <> "" Then strChemin = strChemin & ""
strNewFile = "InscriptionCNDS.xls"
' s'il existe déjà un fichier portant ce nom, on le supprime
If Dir(strChemin & strNewFile) <> "" Then Kill Dir(strChemin &
strNewFile)
strOldFile = Dir(strChemin & "*" & strNewFile)
If strOldFile <> "" Then
Name strChemin & strOldFile As strChemin & strNewFile
End If
End Sub

Je m'etais dit que s'était peut être une histoire de virgule ou point
virgule
Mais bon...

Est ce qu'il y aurais une autre manière d'arriver au résultat

Merci




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



Avatar
Eric
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
Michel
Super,
ca marche, il ne me reste plus que la sauvegarde avant renamme que je ne
sais pas faire en VBA.
J'ai bricolé une commande Dos, mais c'est un peu chantier.

Merci pour l'aide
Michel

--
Confirmation de lecture demandée

Michel Bézoteaux

Tél. 01 76 11 04 88 (nouveau N° Tél.)
Fax 08 25 18 74 49


"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
Michel
Pour la copy de sauvegarde, j'ai fais cela :

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

ça marche pas ?


--
Confirmation de lecture demandée

Michel Bézoteaux

Tél. 01 76 11 04 88 (nouveau N° Tél.)
Fax 08 25 18 74 49


"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



1 2