interdire l'enregistrement des modifications d'une feuille dans un classeur

Bleudusud

XLDnaute Nouveau
Bonjour,
J'ai un classeur avec plusieurs feuilles et je souhaite que pour les feuilles 2 et 3 on puisse travailler dessus mais ne pas pouvoir enregistrer les modifications apportées, alors que pour la feuille 1, l'enregistrement des modifications puisse se faire.
Je n'ai pas réussi pour l'instant à adapter les solutions approchantes vues sur le forum à mon problème.
Merci par avance pour votre aide.
 

JNP

XLDnaute Barbatruc
Re : interdire l'enregistrement des modifications d'une feuille dans un classeur

Bonjour BleuDuSud et bienvenue :),
Tel que posé, j'aurais tendance à garder les feuilles 2 et 3 en stock et cachées, et avant l'enregistrement (Private Sub Workbook_BeforeSave), écraser les feuilles 2 & 3 pour restituer les feuilles d'origine.
Mais ça veut dire aussi que l'utilisateur, s'il fait une sauvegarde intermédiaire, perdra ce qu'il a fait :eek:...
Sinon, ça peut aussi être fait dans Private Sub Workbook_BeforeClose, mais en cas de plantage, la sauvegarde intermédiaire aura été prise en compte :rolleyes:...
Bon courage :cool:
 

Bleudusud

XLDnaute Nouveau
Re : interdire l'enregistrement des modifications d'une feuille dans un classeur

Merci pour la réponse. Je viens d'essayer en mettant:
Private Sub Workbook_BeforeSave()
End Sub

dans le code de la feuille dont je souhaiterai ne pas voir l'enregistrement des modifications effectué, mais ça n'a pas marché.
Peut être que je ne fais pas la bonne manipulation?
 

JNP

XLDnaute Barbatruc
Re : interdire l'enregistrement des modifications d'une feuille dans un classeur

Re :),
Merci pour la réponse. Je viens d'essayer en mettant:
Private Sub Workbook_BeforeSave()
End Sub
dans le code de la feuille dont je souhaiterai ne pas voir l'enregistrement des modifications effectué, mais ça n'a pas marché.
Peut être que je ne fais pas la bonne manipulation?
C'est sûr :p...
Ce code est à mettre dans ThisWorkbook, et il ne fera rien s'il n'y a pas des lignes de code dedans :D.
C'est juste une procédure qui regarde quand tu vas enregistrer, et ensuite, c'est dedans qu'il faut mettre le code adéquat ;)...
Ça donnerait plutôt quelquechose comme ça
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Sheets("Feuil2").Delete
Sheets("Feuil3").Delete
Sheets("Modèle2").Visible = True
Sheets("Modèle3").Visible = True
Sheets("Modèle2").Copy after:=Sheets("Feuil1")
ActiveSheet.Name = "Feuil2"
Sheets("Modèle3").Copy after:=Sheets("Feuil2")
ActiveSheet.Name = "Feuil3"
Sheets("Modèle2").Visible = False
Sheets("Modèle3").Visible = False
Sheets("Feuil1").Activate
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Tu peux tester le fichier joint:rolleyes:.
Bon dimanche :cool:
 

Pièces jointes

  • Test feuilles.xls
    64 KB · Affichages: 131

Bleudusud

XLDnaute Nouveau
Re : interdire l'enregistrement des modifications d'une feuille dans un classeur

Merci JNP pour ton aide.
Je viens d'essayer avec tes codes, mais l'enregistrement des modifications continu de se faire sur les feuilles 2 et 3 après avoir cliquer sur "oui" à la demande " voulez vous enregistrer les modifications".
Je suis novice sur VBA et visiblement c'est moins point faible.
Francis
 

JNP

XLDnaute Barbatruc
Re : interdire l'enregistrement des modifications d'une feuille dans un classeur

Re :),
Je viens d'essayer avec tes codes, mais l'enregistrement des modifications continu de se faire sur les feuilles 2 et 3 après avoir cliquer sur "oui" à la demande " voulez vous enregistrer les modifications".
Pas sur mon classeur :p...
Si tu as juste copié le code, il faut aussi que tu crées tes feuilles Modèle2 et Modèle3 comme dans mon classeur...
Bon courage :cool:
Ajout : et il faut adapter le nom des feuilles dans le code...
 

Bleudusud

XLDnaute Nouveau
Re : interdire l'enregistrement des modifications d'une feuille dans un classeur

Effectivement, j'avais juste omis d'adapter le nom des feuilles aux codes donnés. Il me reste maintenant à faire l'inverse, adapter les codes à mes noms de feuilles souhaités.
Un grand merci pour ton aide.
Francis
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 749
Membres
105 062
dernier inscrit
Ret78