Interdire d'enregistrer sous un nom de fichier
Fermé
baloo24
-
6 août 2013 à 16:33
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 28 août 2013 à 16:03
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 - 28 août 2013 à 16:03
A voir également:
- Interdire d'enregistrer sous un nom de fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Audacity enregistrer son pc - Guide
- Ouvrir un fichier .bin - Guide
4 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
7 août 2013 à 23:52
7 août 2013 à 23:52
Dans le module ThisWorkBook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim rèpDialogue As Variant 'Réponse de la boite de dialogue Excel Dim nomFichier As String 'Nom du fichier original Dim nomProposé As String 'Nom de fichier proposé ou saisi Dim txt As String 'Titre de la boite de message Dim msg As String 'Message pour boite de message Dim rép As Integer 'Réponse à une boite de message Application.EnableEvents = False 'Proposer l'enregistrement (nomfichier-1.xlsm) nomFichier = ThisWorkbook.Name nomProposé = Mid(nomFichier, 1, InStrRev(nomFichier, ".") - 1) & _ "-1" & _ Mid(nomFichier, InStrRev(nomFichier, ".")) txt = "Enregistrer le fichier avec autre nom" Do rèpDialogue = Application.GetSaveAsFilename(InitialFileName:=nomProposé, _ FileFilter:="Classeur Excel (*.xlsm) , *.xlsm", Title:=txt) If rèpDialogue = False Then Application.EnableEvents = True Cancel = True Exit Sub End If nomProposé = StrReverse(rèpDialogue) nomProposé = StrReverse(Mid(nomProposé, 1, InStr(1, nomProposé & "\", "\") - 1)) If nomProposé = nomFichier Then msg = "Vous ne pouvez pas enregistret le fichier avec " & vbCr & _ "le même nom, que l'original (" & nomFichier & ")" & vbCr & vbCr & _ "Saisir un autre nom." rép = MsgBox(msg, vbExclamation + vbOKCancel, txt) End If Loop While nomProposé = nomFichier On Error GoTo ErrorHandler ActiveWorkbook.SaveAs Filename:=nomProposé On Error GoTo 0 Application.EnableEvents = True Cancel = True Exit Sub ErrorHandler: 'Routine de gestion d'erreur. '------------ 'Évalue le numéro d'erreur. Select Case Err.Number Case 1004 'Le fichier existe déjà ou l'enregistrement à été annulé If Err.Description = "La méthode 'SaveAs' de l'objet '_Workbook' a échoué" Then Resume Next Else 'Le fichier est déjà ouvert MsgBox "L'enregistrement à échoué :" & vbCr & vbCr & Err.Description, vbInformation, txt Resume Next End If Case Else MsgBox Err.Description, vbCritical, txt Resume Next End Select End Sub
philmtjn
Messages postés
59
Date d'inscription
mardi 3 août 2004
Statut
Membre
Dernière intervention
26 juillet 2017
4
27 août 2013 à 13:15
27 août 2013 à 13:15
Bonjour,
S'il faut garder toutes les "versions" enregistrées, il suffit d'ajouter la date entre le nom de fichier et l'extention.
S'il faut garder une version par personne qui enregistre, il faut regarder s'il y aurait pas une variable système avec l'identifiant réseau et la rajouter au nom de fichier... exemple : X & Environ("UserName") &".xls"
S'il faut garder toutes les "versions" enregistrées, il suffit d'ajouter la date entre le nom de fichier et l'extention.
S'il faut garder une version par personne qui enregistre, il faut regarder s'il y aurait pas une variable système avec l'identifiant réseau et la rajouter au nom de fichier... exemple : X & Environ("UserName") &".xls"
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
27 août 2013 à 22:44
27 août 2013 à 22:44
J'ai un fichier matrice que j'appelle X sur lequel je souhaiterai que les utilisateurs ne puisse pas enregistrer sous le nom X
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
28 août 2013 à 10:21
28 août 2013 à 10:21
Mettre le fichier en lecture seule ?
:-)
:-)
Zoul67
Messages postés
1959
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
28 août 2013 à 13:45
28 août 2013 à 13:45
Qui m'a mis un "-" ? Au vu de la question, je trouve que ma réponse est tout à fait valable !
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 242
28 août 2013 à 16:03
28 août 2013 à 16:03
J'ai enlevé les -1 qui avaient été mis.
eric
eric
eriiic
Messages postés
24601
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 novembre 2024
7 242
28 août 2013 à 13:12
28 août 2013 à 13:12
Bonjour,
sinon tu peux l'enregistrer en tant que modèle (*.xlt ou *.xltx)
L'utilisateur aura un fichier neuf à chaque fois et ton modèle sera préservé.
eric
sinon tu peux l'enregistrer en tant que modèle (*.xlt ou *.xltx)
L'utilisateur aura un fichier neuf à chaque fois et ton modèle sera préservé.
eric