"Enregistrer sous" a l'ouverture d'un fichier [Résolu]

BLACKHAYES

XLDnaute Impliqué
Bonjour le forum,

j'aimerais connaitre le code pour qu'a chaque ouverture de mon fichier la fenetre "Enregistrer sous" s'affiche automatiquement avec le choix d"enregistrer ou pas.

petite option si possible:

est ce que l'on peut supprimer cette option "Enregistrer sous" une fois le fichier "enregistrer" une fois car ensuite il ne changera plus de nom, mais seulement des modifications dans le fichier.

Cordialement,
BLACKHAYE's
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : "Enregistrer sous" a l'ouverture d'un fichier

Bonjour BLACKHAYE's,

peut-être avec ce code
voir fichier joint
Code:
Private Sub Workbook_Open()
If Sheets(3).Range("A1") = "" Then
nomdufichier = Application.GetSaveAsFilename
Sheets(3).Range("A1") = nomdufichier
End If
End Sub

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    13.7 KB · Affichages: 48
  • 111.xlsm
    13.7 KB · Affichages: 35
  • 111.xlsm
    13.7 KB · Affichages: 38

BLACKHAYES

XLDnaute Impliqué
Re : "Enregistrer sous" a l'ouverture d'un fichier

Bonjour phlaurent55,

Votre me met en erreur a l'ouverture, message ci dessous :

"erreur de compilation dans le module caché : thisWorkbook
cette erreur se produit généralement lorsque le code est incompatible avec la version, plateforme ou architecture de cette application."


j'ai essayé de modifié le nom de la feuille, ou de la cellule, mais rien de plus.

a savoir que la feuille est proteger et qu'il a un code dans ThisWorkbook (code ci dessous)

"Option Explicit
Private Sub Workbook_Open()
Sheets("sem1").Protect "3", userinterfaceonly:=True"

?????
BLACKHAYE's
 
Dernière édition:

BLACKHAYES

XLDnaute Impliqué
Re : "Enregistrer sous" a l'ouverture d'un fichier

Re Phlaurent55, Bonjour herve62,

ok, merci pour vos codes, mais ca ne fonctionne pas

ca ne fait que m'enregistrer une valeur dans la cellule "A1" rien d'autres
et je ne peux pas choisir le format du fichier !! ????

y t-il une autre solution

je voudrais qu'a l' ouverture du fichier la fenetre "enregistrer sous" s'ouvre pour eviter que les utilisateurs enregistre sur le fichier vierge de base.

le fichier est proteger par "MDP"


BLACKHAYE's
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : "Enregistrer sous" a l'ouverture d'un fichier

bonjour les gens,

pourquoi ne pas enregistrer le fichier de base en tant que modèle excel
cela obligera l'utilisateur à un 'sauvergarder sous' dès qu'il voudra enregistrer
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : "Enregistrer sous" a l'ouverture d'un fichier

Moi il y a quelque chose qui me chiffonne ??
je voudrais qu'a l' ouverture du fichier la fenetre "enregistrer sous" s'ouvre pour eviter que les utilisateurs enregistre sur le fichier vierge de base.

le fichier est proteger par "MDP"

déjà même "enregistrer sous" on peut laisser le nom d'origine donc ??
et là en plus protégé par MDP donc il faut ôter la protection et là je vois plus l'intêret ? si ce n'est que de s'en servir en "lecture" !!
 

BLACKHAYES

XLDnaute Impliqué
Re : "Enregistrer sous" a l'ouverture d'un fichier

Re,

oui je comprends votre question ...
mais si je ne fait pas ca, mes collegues vont enregistrer leurs saisies sur le fichier d'origine (celui qui est vierge et qui sert a tout le monde) et donc on devra en permanence effacer les valeurs avant de re-saisir.
car ils ont une facheuse habitude "d'enregistrer" et non "enregistrer sous" ce qui n'est pas du tout la meme chose, la deuxieme version garde le fichier d'origine vierge;

d'ou mon interet a ce qu'a l'ouverture, tout de suite apres la fenetre "enregistrer sous" s'affiche comme ca ils n'ont plus choix, et plus d'excuses;

amicalement,
BLACKHAYE's
 

BLACKHAYES

XLDnaute Impliqué
Re : "Enregistrer sous" a l'ouverture d'un fichier

Bonjour Mitzik

et oui, j'ai testé votre solutions et elle est tres bien, juste un petit bug, il ouvre la fenetre d'enregistrement en "classeur excel" et moi j'ai des macros, et j'aurais souhaité qu'il se mette directement sur "prenant en charges les macros".

sinon tres bonne solutions et je vais opter pour celle ci, en attendant de trouver une solution en macros qui fonctionne
merci du conseil

amicalement,
BLACKHAYE's
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : "Enregistrer sous" a l'ouverture d'un fichier

Après reste encore une solution :
Masquer toute la barre (VBA) et traiter de même par USF , inputbox ..etc l'enregistrement du fichier et là on fait ce qu'on veut
en xlsm , xlsx .....
ce n'est qu'un avis , en VBA c'est du style Application.commandbar ou barTool je sais plus , j'avais fait une BDD et idem l'utilisateur n'avait pas la main ( fullscreen)
 

BLACKHAYES

XLDnaute Impliqué
Re : "Enregistrer sous" a l'ouverture d'un fichier

Re,
Euhhhhh, la ca devient très compliqué pour moi, je n'ai pas ce niveau en vba.

Mais merci a vous d'essayer de trouver une solution a mon problème.

il doit bien y avoir une solution moins compliqué a réaliser.

je continue a chercher.

merci a vous,
bonne soirée
BLACKHAYE's
 

job75

XLDnaute Barbatruc
Re : "Enregistrer sous" a l'ouverture d'un fichier

Bonjour à tous,

Placer ce code dans le ThisWorkbook du fichier modèle (vierge donc) :

Code:
Private Sub Workbook_Open()
Sheets("sem1").Protect "3", UserInterfaceOnly:=True 'est-ce bien nécessaire ???
Application.OnTime 1, "ThisWorkbook.Enregistrer"
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
Enregistrer
End Sub

Sub Enregistrer()
If IsError([OK]) Then
  Dim nom$, ext$, x As Variant
  nom = Me.FullName
  ext = Mid(nom, InStrRev(nom, ".")) 'extension du fichier
  ChDir Me.Path 'pour afficher le répertoire du fichier
  Do
    x = Application.GetSaveAsFilename
    If x = False Then
      Me.Saved = True
      If Workbooks.Count = 1 Then Application.Quit Else Me.Close
      Exit Sub
    End If
    If Right(x, 1) = "." Then x = Left(x, Len(x) - 1)
  Loop While x & ext = nom 'interdit l'enregistrement sous le même nom
  Application.EnableEvents = False
  Application.DisplayAlerts = False
  Me.Save 'en cas de modification du fichier modèle
  Me.SaveAs x & ext, Me.FileFormat
  Me.Names.Add "OK", True, Visible:=False 'nom défini masqué
End If
Application.EnableEvents = False
Me.Save
Application.EnableEvents = True
End Sub

Sub SupprimeNomOK()
'à exécuter si le nom "OK" a été créé par erreur...
On Error Resume Next
Me.Names("OK").Delete
Application.EnableEvents = False
Me.Save
Application.EnableEvents = True
End Sub
Mais tout ça paraît d'un intérêt limité puisqu'on peut désactiver les macros avant l'ouverture.

A+
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Re : "Enregistrer sous" a l'ouverture d'un fichier

Bonsoir tous , Slt les amis
Bon je vais donner mon dernier avis , Y a un gars qui a fait un truc qui s'appelle "SuperMacro_beta.exe"
et là BETON pour voir ce que c'est ??
Donc il faut savoir ce que l'on veut et SURTOUT CE QUE L'ON PEUT !!!!
Hein Job & JM ?? notre ami n'est pas à la DGSE !
 

Staple1600

XLDnaute Barbatruc
Re : "Enregistrer sous" a l'ouverture d'un fichier

Bonsoir à tous

[gag du samedi soir]
SuperMacro_beta.exe
Pour voir ce que c'est il suffit de regarder les sources du programme non ?
Ce lien n'existe plus
Donc rien de BETON là-dedans ;)
Sauf que je ne vois pas le rapport avec Excel ;)
[/gag du samedi soir]

Pour le reste, il ne s'agit que d'information.
On peut ouvrir un classeur sans activer les macros et la protection du projet VBA est contournable.
Donc tout code VBA peut être inhibé, il est bon de le savoir avant de s'évertuer à créer en vain du code VBA de protection.
C'est tout ce que mon précédent message voulait dire.
 

Discussions similaires

Réponses
3
Affichages
383

Statistiques des forums

Discussions
312 502
Messages
2 089 046
Membres
104 010
dernier inscrit
Freba