Sauvegarde de feuilles dans le classeur utilisé

S

Sébastien

Guest
Bonjour à toutes et à tous,

J'ai un classeur nommé "Compta" qui contient 4 feuilles: Facture, Client, Produits, Feuil4.

J'aimerai sauvegarder dans le classeur "Compta" seulement les feuilles Clients, Produits et Feuil4 pour que la prochaine fois que j'ouvre le classeur "Compta" j'obtienne la feuille Facture (sans les modifications apportées précédement) et les feuilles Clients, Produits et Feuil4 (avec les modifications enregistrées précédement.

Merci

Sébastien
 
Z

Zon

Guest
Salut,

Il suffit à l'ouverture du classeur de faire une copie de la feuille qu'on cache à l'utilisateur. à la fermeture on supprimes la feuille facture et on renomme la copie qu'on replace à la même place


Colles ceci dans un module standard:

Sub CopieF(NomF$, NomSauv$)
Dim F As Worksheet
Application.ScreenUpdating = False
With ThisWorkbook
.Sheets(NomF).Copy .Sheets(.Sheets.Count)
Set F = .ActiveSheet
End With
With F
.Visible = False
.Name = NomSauv
End With
End Sub

Sub ModiFsauv(NomF$, NomSauv$)
Dim I&, Ch$
Application.DisplayAlerts = False
With ThisWorkbook
With .Sheets(NomF)
Ch = .CodeName
I = .Index
.Delete
End With
With .Sheets(NomSauv)
.Move Sheets(I)
.Name = NomF
.Visible = True
End With
Application.EnableEvents = False
.VBProject.VBComponents(.Sheets(NomF).CodeName).Name = Ch
End With
End Sub

Puis dans le module Thisworkbook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ModiFsauv "Facture", "Temp"
ThisWorkbook.Close 1 'on sauvegarde en quittant
End Sub

Private Sub Workbook_Open()
CopieF "Facture", "Temp"
End Sub


A+++
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 749
Messages
2 091 623
Membres
105 009
dernier inscrit
aurelien76110