Sauvegarde de classeur ( mais pas en lecture seule )

Résolu/Fermé
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 26 janv. 2016 à 12:02
CHARLYJACK Messages postés 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 - 27 janv. 2016 à 16:39
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
27 janv. 2016 à 06:52
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 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
27 janv. 2016 à 09:54
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
27 janv. 2016 à 10:46
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
27 janv. 2016 à 11:13
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 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1
27 janv. 2016 à 11:59
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 jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
27 janv. 2016 à 13:54
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 353 Date d'inscription mardi 19 octobre 2010 Statut Membre Dernière intervention 16 mai 2023 1 > cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024
27 janv. 2016 à 16:39
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