Sauvegarde de classeur ( mais pas en lecture seule )

Résolu
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -  
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'utilise un code pour la sauvegarde d'un fichier important,
ça fonctionne bien par contre le problème c'est que cette sauvegarde automatique s'effectue même si je suis en lecture seule sur le fichier.


J'aimerais adapter ce code pour que la sauvegarde n'intervienne pas sur un fichier en lecture seule mais je ne sais pas comment.

Voici les codes

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Chemin = "C:\"
ClasseurCible = "CLOSE Synthese Mens.xlsm"
ThisWorkbook.SaveCopyAs Chemin & ClasseurCible & " " & Format(Now, "dd-mm-yyyy" & " à " & _
"hh""h""mm""'""ss""''""") & ".xlsm"

End Sub

Private Sub Workbook_Open()
Chemin = "C:\"
ClasseurCible = "OPEN Synthese Mens.xlsm"
ThisWorkbook.SaveCopyAs Chemin & ClasseurCible & " " & Format(Now, "dd-mm-yyyy" & " à " & _
"hh""h""mm""'""ss""''""") & ".xlsm"

End Sub

Par avance merci
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Comme ceci dans ThisWorkbook:

Option Explicit
Dim seul As Boolean
Dim chemin, ClasseurCible
Private Sub Workbook_Open()
If Workbooks("Classeur1.xls").ReadOnly = True Then
     seul = True
    Else
     seul = False
    End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If seul = True Then
Application.ThisWorkbook.Saved = True
Else
chemin = "C:\Users\.....\Documents\"
ClasseurCible = "Classeur1.xls"
ThisWorkbook.SaveCopyAs chemin & ClasseurCible & " " & Format(Now, "dd-mm-yyyy" & " à " & _
"hh""h""mm""'""ss""''""") & ".xlsm"
End If
End Sub

0
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour et merci

Par contre, ça ne fonctionne pas comme je le désire (j'ai un message d'erreur indice 9),
je pense que je me suis mal exprimé.

En fait, je souhaite que le classeur soit sauvegardé uniquement par la personne qui agit sur le classeur pas ceux qui consultent en lecture seul.

Cdt
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Je n'ai aucun message d'erreur!

Ce que tu demandes n'est faisable que si tu changes à chaque fois que c'est toi qui l'ouvre la lecture seule. C'est assez astreignant. Il faudrait voir une autre solution.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Quand je lis cela:

En fait, je souhaite que le classeur soit sauvegardé uniquement par la personne qui agit sur le classeur pas ceux qui consultent en lecture seul.

Avec Excel si tu ne fais rien sur le classeur, il se ferme sans enregistrer!

Par contre il suffit d'une action, pour qu'il te demande si tu veux enregistrer les modifications.

Donc je ne vois pas le problème!
0
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour et encore merci,

en fait il s agit d un fichier très important sur lequel je travaille avec mes collègues.
Le problème c'est que notre système informatique est instable et de plus nous avons besoin de conserver un historique des modifications.

Mes codes fonctionnent bien, sauf qu'ils fonctionnent même lorsqu'on ouvre et on ferme le classeur en lecture seule et donc je risque d'être inondé de sauvegardes.


Cdt
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Le code que je t'ai donné fonctionne très bien. Regarde cet article à propos du message d'erreur indice 9. Il se peut qu'il y ait une erreur dans une autre macro/

https://support.microsoft.com/fr-fr/help/468889
0
CHARLYJACK Messages postés 345 Date d'inscription   Statut Membre Dernière intervention   1 > cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonsoir,

je confirme ça fonctionne parfaitement et je n'ai plus de message d'erreur.
je ne comprends pas pourquoi !
En tout cas maintenant ça marche

un grand merci à toi
0