XL 2016 Renommer le fichier ouvert (pas de copie)

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Leché

XLDnaute Junior
Bonjour,

Je souhaiterais renommer automatiquement mon fichier ouvert (via un clic bouton) en fonction d'une cellule.
Cela fonctionne très bien avec le code :

VB:
Option Explicit

Sub enregistrer_classeur()

Dim chemin As String, fichier As String

chemin = ThisWorkbook.Path

fichier = chemin & "\" & Range("B2") & ".xlsm"

ActiveWorkbook.SaveAs Filename:=fichier

End Sub

Cependant, cela me créer une simple copie du fichier, qui est bien renommé en fonction de ma cellule.
Avez vous une solution afin de simplement renommer le fichier sans dupliquer, ou alors de supprimer le fichier en suite ?

Cordialement,
 
Solution
Bonjour Leché, Hasco, le forum
Bonjour,

Rajouter un Kill de l'ancien fichier
VB:
VB:
Sub enregistrer_classeur()

Dim chemin As String, fichier As String, old As String
old = ThisWorkbook.FullName
chemin = ThisWorkbook.Path

fichier = chemin & "\" & Range("B2") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=fichier
Kill old
End Sub
Cordialement
Si le code de départ est correct, la suppression ne s'effectue pas forcément sur le classeur contenant la macro mais sur le classeur actif enregistré au même endroit que le classeur contenant la macro sinon pourquoi utiliser activeworkbook au lieu de rester avec thisworkbook.

Bien cordialement, @+
VB:
Sub enregistrer_classeur()

Dim chemin As String, fichier As String, Mem_Fichier$

chemin =...
Bonjour,

Rajouter un Kill de l'ancien fichier
VB:
Sub enregistrer_classeur()

    Dim chemin As String, fichier As String, old As String
    old = ThisWorkbook.FullName
    chemin = ThisWorkbook.Path

    fichier = chemin & "\" & Range("B2") & ".xlsm"
    ActiveWorkbook.SaveAs Filename:=fichier
    Kill old
End Sub

Cordialement
 
Bonjour Leché, Hasco, le forum
Bonjour,

Rajouter un Kill de l'ancien fichier
VB:
VB:
Sub enregistrer_classeur()

Dim chemin As String, fichier As String, old As String
old = ThisWorkbook.FullName
chemin = ThisWorkbook.Path

fichier = chemin & "\" & Range("B2") & ".xlsm"
ActiveWorkbook.SaveAs Filename:=fichier
Kill old
End Sub
Cordialement
Si le code de départ est correct, la suppression ne s'effectue pas forcément sur le classeur contenant la macro mais sur le classeur actif enregistré au même endroit que le classeur contenant la macro sinon pourquoi utiliser activeworkbook au lieu de rester avec thisworkbook.

Bien cordialement, @+
VB:
Sub enregistrer_classeur()

Dim chemin As String, fichier As String, Mem_Fichier$

chemin = ThisWorkbook.Path

fichier = chemin & "\" & Range("B2") & ".xlsm"

Mem_Fichier = ActiveWorkbook.FullName
ActiveWorkbook.SaveAs Filename:=fichier
Kill Mem_Fichier
End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
861
Réponses
3
Affichages
673
Retour