Bloquer enregistrement fichier / forcer l'enregistrement sous un autre nom

Bonjour à tous,

Nous utilisons un template excel, et les utilisateurs ont tendance à simplement, faire "enregistrer sous" et l'enregistrer dans un autre dossier. Du coup nous avons plusieurs versions du même fichier, portant le même nom, partout sur notre réseau.

Comment faire pour :

- empêcher l'enregistrement du fichier si son nom n'est pas modifié ?

- imposer que tout enregistrement se fasse sous un format défini en fonction de la valeur de cellules de ce fichier (par exemple en A1 le nom du client + la date du jour) ?

Merci pour votre aide !

Bonjour Yannick_b

Code à mettre dans ThisWorkbook

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
  Dim sPath As String, sFic
  ' annuler l'enregistrement manuel
  Cancel = True
  ' Définir le chemin d'enregistrement par défaut
  sPath = "C:\Temp\"
  ' Définir le nom du fichier par défaut
  sFic = ThisWorkbook.Sheets("Feuil1").Range("A1").Value & "_" & Format(Date, "yyyy.mm.dd") & ".xlsm"
  ' désactiver les évènements
  Application.EnableEvents = False
  ' Enregistrer le classeuer
  ThisWorkbook.SaveAs sPath & sFic
  ' réactiver les évènements
  Application.EnableEvents = True
End Sub

A+

Bonjour,

Nous utilisons un template excel

Comment donc l'utilisez-vous ?? A priori, cela devrait être ainsi avec par exemple, ce code dans le ThisWorkBook de votre classeur de départ

Option Explicit

Private Sub Workbook_Open()
    Dim chemin_template As String, nom_template As String

    chemin_template = CreateObject("Wscript.Shell").specialfolders("MyDocuments") & "\Modèles Office personnalisés\"
    nom_template = "Classeur_modèle.xltm"   'votre template'
    Workbooks.Add (chemin_template & nom_template)
    ThisWorkbook.Close

End Sub

Auquel cas ce template n'est jamais modifié.

Rechercher des sujets similaires à "bloquer enregistrement fichier forcer nom"