OVH Cloud OVH Cloud

enregistrer dans le repertoire actif

14 réponses
Avatar
gilles
bonjour =E0 tous
Une macro qui m'a =E9t=E9 propos=E9e par le steph et papou et=20
que j'ai (modestement)adapt=E9e

Sub renommplus prefixe avant ()
Dim machaine, newchain As String
machaine =3D ActiveWorkbook.Name
newchain =3D [B3] & "_" & Mid(machaine, 1, Len(machaine) -=20
4) & ".xls"
ChDir "D:\astusinformatic\aaa" 'j' impose le=20
repertoire
ActiveWorkbook.SaveAs (newchain)ActiveWorkbook.SaveAs=20
(newchain)
Kill "D:\astusinformatic\essai recuperer=20
donnee.xls" ' je supprime le fichier initial
End Sub=20

=C7a marche nickel mais :
-Je souhaite que l'enregistrement se fasse dans le=20
repertoire et sous repertoire ou se trouve le fichier
-je souhaite que le fichier initial soit supprim=E9 dans=20
le repertoire actif
.car les repertoires en question seront deplac=E9s sur=20
divers serveurs ou travaillent les utilisateurs
je ne peux donc pas imposer leur nom dans le code
j'ai voulu mettre ActiveDIR, mais je me suis fait jet=E9 !

Si des VBAtistes sont dispo actuellement et peuvent me=20
pr=EAter main forte , je leur fais une pri=E8re pour 15 jours=20
de soleil
A+=20
gilles

10 réponses

1 2
Avatar
JpPradier
Bonjour Gilles

Tu peux utiliser ActiveWorkbook.Path et l'utiliser ainsi :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & newchain)

j-p
Avatar
gilles
merci jp
j'essaie ça
et ,si ça marche , tu auras la prière annoncée!!!!
marci
à+
-----Message d'origine-----
Bonjour Gilles

Tu peux utiliser ActiveWorkbook.Path et l'utiliser
ainsi :


chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & newchain)

j-p
.



Avatar
gilles
rebonjour jp
j'ai essayé mais c'est pas encore ça !

j'ai placé le fichier à renommer dans un s/rep
la macro place le fichier enregistré dans le rep et non
le s/rep, et elle le renomme du nom du s/rep suivi du nom
du fichier

J' ai essayé d'adapter ton code avec mes faibles moyens
de VBAtiste

avec le code ci dessous il place bien le fichier renommé
dans le s/rep mais il le nomme newchaine et non pas du
nom de fichier

Sub renommplus prefixe avant()
Dim machaine, newchain As String
machaine = ActiveWorkbook.Name
Dim chemin As String
chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs chemin & " newchain"
'Application.Recover.Path = "ActiveWorkbook.Path"

'ActiveWorkbook.SaveAs (chemin & newchain)
' ChDir "D:astusinformaticaaa"
'ActiveWorkbook.SaveAs (newchain)
'Kill "D:astusinformaticessai recuperer donnee.xls" 'je
supprime le fichier initial
End Sub

Par ailleurs je souhaite effacer le fichier d'origine et
lui imposer de prendre le rep et s/rep actif
Merci encore et à+
Avatar
JpPradier
Il faut rajouter l'antislash :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & " " & newchain)

j-p
Avatar
gilles
saint cloud à againe
gilles
-----Message d'origine-----
Il faut rajouter l'antislash :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & " " & newchain)

j-p
.



Avatar
gilles
jp
c'est de la persécution
erreur 1004
à+

-----Message d'origine-----
Il faut rajouter l'antislash :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & " " & newchain)

j-p
.



Avatar
isabelle
bonjour gilles,

tant qu'à détruire l'ancien tu pourrais simplement le renommer, (le
fichier doit être fermer)

Sub OldNameNewName()
OldName = "C:zazaOldNameNewName.xls"
NewName = "C:zaza" & var & "OldNameNewName.xls"
Name OldName As NewName
End Sub

isabelle


jp
c'est de la persécution
erreur 1004
à+

-----Message d'origine-----
Il faut rajouter l'antislash :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & " " & newchain)

j-p
.





Avatar
gilles
bonjour isabelle ,
tu arrives comme le messie
depuis ce matin que j'em...JP je ne parviens pas à m'en
sortir
ou je le renomme bien mais pas dans le bon repertoire
ou le le mets dans le bon repertoire mais pas avec le nom
ou j'ai erreur 1004
je m'apprêtais à jeter l'éponge mais tu me réactives
S'il faut qu'il soit fermé , peut être que je peux mettre
le code dans un private..close?
J'essaie ça
merci Isabelle

-----Message d'origine-----
bonjour gilles,

tant qu'à détruire l'ancien tu pourrais simplement le
renommer, (le

fichier doit être fermer)

Sub OldNameNewName()
OldName = "C:zazaOldNameNewName.xls"
NewName = "C:zaza" & var & "OldNameNewName.xls"
Name OldName As NewName
End Sub

isabelle


jp
c'est de la persécution
erreur 1004
à+

-----Message d'origine-----
Il faut rajouter l'antislash :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & " " & newchain)

j-p
.

.







Avatar
isabelle
non, il faut vraiment qu'il soit fermer. mais en regardant la proc de Jp
je voie un espasce en trop.
essaie comme ça,

machaine = ActiveWorkbook.Name
chemin = ActiveWorkbook.Path
cheminComplet = ActiveWorkbook.FullName
newchain = [B3] & "_" & Mid(machaine, 1, Len(machaine) - 4) & ".xls"
ActiveWorkbook.SaveAs chemin & "" & newchain
Kill cheminComplet

isabelle


bonjour isabelle ,
tu arrives comme le messie
depuis ce matin que j'em...JP je ne parviens pas à m'en
sortir
ou je le renomme bien mais pas dans le bon repertoire
ou le le mets dans le bon repertoire mais pas avec le nom
ou j'ai erreur 1004
je m'apprêtais à jeter l'éponge mais tu me réactives
S'il faut qu'il soit fermé , peut être que je peux mettre
le code dans un private..close?
J'essaie ça
merci Isabelle

-----Message d'origine-----
bonjour gilles,

tant qu'à détruire l'ancien tu pourrais simplement le
renommer, (le

fichier doit être fermer)

Sub OldNameNewName()
OldName = "C:zazaOldNameNewName.xls"
NewName = "C:zaza" & var & "OldNameNewName.xls"
Name OldName As NewName
End Sub

isabelle


jp
c'est de la persécution
erreur 1004
à+

-----Message d'origine-----
Il faut rajouter l'antislash :

chemin = ActiveWorkbook.Path
ActiveWorkbook.SaveAs (chemin & " " & newchain)

j-p
.

.









Avatar
JpPradier
Bonsoir Isabelle

Merci de corriger mes etourderies ;-))

bises
j-p
1 2