Enregistrer un fichier actif et le renommer

Bonjour,

Je veux faire une macro pour enregistrer le fichier actif dans le même endroit et le renommer.

voici mon code:

Le probléme c'est que il me met le fichier dans mes documents et non dans l'endroit du fichier intial

Sub CommandButton1_Click()

Range("E18").Value = ComboBox1.Value

Range("E5").Value = TextBox1.Value

UserForm1.Hide

ThisWorkbook.SaveAs Range("E5") & " - " & Range("E18").Value

End Sub

Merci d'avance pour votre aide

Bonjour,

Sub CommandButton1_Click()
    Dim nf$
    nf = TextBox1.Value & " - " & ComboBox1.Value
    With ThisWorkbook
        .SaveAs .Path & "\" & nf
    End With
    Me.Hide
End Sub

Cordialement.

Bonjour MFerrand,

Merci de ton efficacité.

La macro marche super bien mais je veux supprimer le fichier initial.

car je retrouve dans mon partage les deux fichier.

cordialement,

GA

Re,

Sub CommandButton1_Click()
    Dim nf$, nfanc$
    nf = TextBox1.Value & " - " & ComboBox1.Value
    With ThisWorkbook
        nfanc = .Path & "\" & .Name
        .SaveAs .Path & "\" & nf
    End With
    Kill nfanc
    Me.Hide
End Sub

Merci MFerrand.

Désolé encore une fois,

Le kill nfanc ne marche j'ai un message d'erreur

Run-time error '70'

Permission denied.

Y a une solution ou pas

Merci beaucoup.

cdlt,

GA

Si tu n'as pas de problème d'autorisation.... c'est que le processus n'a sans doute pas encore libéré le fichier.

Intercale une ligne avant :

    DoEvents

ça devrait peut-être suffire... ? A voir.

ça ne marche pas.

je suis sur excel 2010... c'est pas ça le probléme?

cdlt,

Amirouche

Bonjour,

Teste la suppression avec Kill, dans le dossier où tu as le fichier à supprimer, avec une macro autonome lancée indépendamment de ton opération. Si cela fonctionne, cela éliminera les autres causes possibles, et c'est bien le processus qui n'a pas libéré le fichier au moment où on veut le supprimer... Si cela ne fonctionne pas, il faudra voir du côté de la sécurité...

Cordialement.

Hello MFerrand ,

J'ai pas compris comment créer une macro dans le dossier.

Tu veux dire, je crées une macro dans le nouveau fichier qui se lance une fois que l'userform disparait avec l'option Kill.

c'est ça ?

Tu mets un fichier à supprimer dans le répertoire concerné.

Tu fais une macro dans laquelle tu mets seulement (mettre le chemin et le nom du fichier :

Sub Test()
   Kill cheminetnomdufichieràsupprimer
End Sub

Et tu lances la macro ! Si le fichier est supprimé, c'est qu'il n'y a pas de problème au niveau du dossier (ou répertoire) et qu'il ne s'agit que du délai mis par le processus pour libérer le fichier. On mettra plusieurs DoEvents successifs et/ou une boucle d'attente...

Bonjour à tous

Je n'ai rien dis .....

Cordialement

Hello,

La macro kill chemin du fichier fonctionne bien

Par contre, je ne peux pas rajouter cette ligne dans mon programme

ça me mets permission denied

Bizarre

Cdlt,

Amirouche


Et meme en mettant une ligne kill chemindufichierintial après Me.hide ==> ça me mets permission denied

Bizzare

Re

Je n'ai rien dis .....

Cordialement

Bonsoir,

Je viens de monter un fichier avec une macro qui fait la succession d'opération :

enregistrer le fichier

définir un nouveau nom

l'enregistrer sous ce nouveau nom dans le dossier d'origine

supprimer le dossier initial du dossier d'origine.

Tout se déroule sans problème, et la suppression se fait.

Mais je pense que tu opères à partir d'un Userform, c'est finalement peut-être cela qui bloque, et il faudrait alors différer la suppression après le déchargement du Userform, donc la faire à partir de la procédure appelante...

La proc. lançant le Userform devrait donc avoir cette allure.

Sub ProcQuiLanceUserform()
    Dim nF$
    nF = ThisWorkbook.FullName
    Show.Userform1
    If ThisWorkbook.FullName <> nF Then Kill nF
End Sub

La proc. en reprenant la main après le déchargement du Userform, teste si le nom du classeur a changé, et si c'est le cas supprime l'ancien.

Je n'ai pas le temps de monter un test pour vérifier ça maintenant... A suivre.

Merci beaucoup MFerrand de ton aide précieuse.

Je vais essayer ça, j'espère que ça va marcher

Cdlt

bizarrement, ça ne fonctionne pas..

J'ai meme essayer avec le nom du fichier (full name) ça me met permission denied

Là je ne comprends plus !

Tu es sûr qu'il n'y a pas un problème d'autorisation ?

Excuse moi MFerrand...

j'ai changé les paramètres du fichier, en rajoutant l'option delete, mon fichier se supprime

Merci beaucoup pour ton aide

Rechercher des sujets similaires à "enregistrer fichier actif renommer"