Macro enrigistrer fichier en xlsx avec pour nom = valeur d'une cellule

Re,

Alors voici un fichier qui fait ce que vous souhaitez VotreNomDeFichier.xlsm (15,8 Ko)

Quelques précisions: Il ne faut bien sûr n’enregistrer qu’une copie de votre fichier source, sinon vous allez perdre les macros avec les formats différents de xlsm (fichier ci-dessus en conséquence)

Du coup, j’ai rajouté un module (voir ci-dessous) qui propose l’enregistrement au format csv (à adapter avec le format voulu) lors de la fermeture.
On pourrait le transformer en bouton ou raccourci.

Aller, je vous laisse avec le code :wink:

Le module:
Sub EnregistrementCSV()

Dim extension As String
Dim nomfichier As String
Dim chemin As String **'Fait doublon avec strPath**
Dim strPath As String

strFileName = Environ(“USERPROFILE”) & “\Desktop”

extension = “.csv” **'Ici l’extension que vous voulez**
nomfichier = Sheets(“Feuil1”).Range(“A1”).Value & extension **'Nom de fichier avec cellule A1. A Adapter**
chemin = strFileName **'Au choix, rentrez votre chemin de fichier “C:\Votre dossier” et supprimer strFileName ou conserver strFileName**

ActiveWorkbook.SaveCopyAs chemin & nomfichier **'Si on conserve strFileName alors remplacer chemin**

End Sub

Le petit code à coller dans "ThisWorkBook"
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Select Case MsgBox(“Enregistrer copie du fichier en .csv ?”, vbYesNo + vbQuestion, “Sauvegarde du fichier”)
Case vbYes
Call EnregistrementCSV
Case vbNo
Application.Quit
End Select
End Sub

EDIT: à la relecture de votre post, je pense qu’il serait plus simple de passer par vbs ou bat.
Sinon, il va falloir réimporter la macro à chaque fois (dans le sens csv to xlsx). Je dois avoir ça qui traine dans un coin.