Macro Enregistrer sous et forcer en type xlsm

Bonjour,

j'utilise un classeur type (gabarit) et je souhaiterai créer une macro lors de enregistrement qui répondre au critères suivant :

  • Enregistrer sous répertoire "\\srv-files\0-Ressources\7-Qualite\78-FAI\F-A-I Temporaire" sachant que mon gabarit se trouve dans un autre dossier.
  • Au niveau du nom du classeur l'idée serait de récuperer le texte qui se trouve dans ma cellule A1 (pour notre fichier exemple joint on a "AM2016-72468")
  • Lors de enregistrement forcer le type en ".xlsm" car mon fichier final intégrera des macro.

En résumé, j'ouvre mon classeur gabarit je le remplis et j'appuis sur un bouton macro et mon classeur s'enregistre tout seule dans mon répertoire "\\srv-files\0-Ressources\7-Qualite\78-FAI\F-A-I Temporaire" sous le nom "AM2016-72468.xlsm"

Merci d'avance pour vos suggestion.

34classeur1.xlsx (8.07 Ko)

Bonjour,

Ci-joint une proposition à tester.

Le principe :

> lors de l'enregistrement, création d'une copie du fichier, avec le nom indiqué dans la cellule A1

> le nouveau fichier est enregistré dans le répertoire final ("C:\TEMP\", dans l'exemple, à modifier une fois pour toute dans le code)

> le fichier "Gabarit" est refermé (sans l'enregistrer)

> ré-ouverture du fichier généré pour continuer à travailler sur ce fichier (et plus sur le gabarit)

Le fichier Gabarit contient la macro d'enregistrement

Le fichier généré contient également cette macro (puisque c'est une copie), mais à l'enregistrement des fichiers autres que Gabarit, pas de message (évidemment, sinon on recrée une copie de la copie).

Pour modifier le fichier Gabarit, bien penser à désactiver les macros, sinon l'enregistrement sera un fichier généré et non le Gabarit lui-même.

En espérant que tout est clair !

Le code est derrière "ThisWorkbook"

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Bonne journée

Bouben

222gabarit.xlsm (17.59 Ko)
Rechercher des sujets similaires à "macro enregistrer forcer type xlsm"