Masquer une feuille dans la copie après Workbook.copy du Classeur
V
Bonjour à tous,
Et oui, me revoilà avec une autre question de base mais pour laquelle je ne trouve pas de réponse.
Le code ci-dessous me permet de faire une copie de deux feuilles du classeur ouvert.
Ça fonctionne correctement mais j'aimerais pouvoir masquer la "feuille2" dans la copie uniquement. Cette feuille contient des référentiels utiles mais qui n'ont pas a être vus.
Merci à celui ou ceux qui vont me sauver
Sub enregistrer_classeur()
Dim chemin As String, fichier As String
chemin = ThisWorkbook.Path
fichier = chemin & "\" & Range("AS2") & "_" & Range("M14") & "," & Range("M16") & "_" & Format(Date, "dd-mm-yy") & "_" & Format(Time, "hh-mm-ss") & ".xlsx"
On Error Resume Next
'Pour déprotéger la feuille
Sheets("Feuille1").Unprotect Password:=""
On Error Resume Next
ThisWorkbook.Sheets(Array("Feuille1", "Feuille2.")).Copy
On Error Resume Next
With ActiveWorkbook
.SaveCopyAs Filename:=fichier
On Error Resume Next
'optionally close it
.Close savechanges:=False
End With
'Pour protéger à nouveau la feuille après la copie
Sheets("Feuille1").Protect Password:=""
On Error Resume Next
MsgBox "Le fichier a été exporté et enregistré dans le répertoire de destination !"
End Sub
V
Finalement je me suis auto-sauvé en utilisant le code-ci-dessous:
Certes de manière un peu artisanale mais, ça fonctionne
Bonne continuation à tous !
Sub Save()
Dim FName As String
Dim FPath As String
Dim NewBook As Workbook
FPath = ThisworkbookPath
FName = "Grille" & "_" & Range("AS2") & "_" & Range("AS2") & "_" & Range("M14") & "," & Range("M16") & "_" & Format(Date, "dd-mm-yy") & "_" & Format(Time, "hh-mm-ss") & ".xlsx"
Set NewBook = Workbooks.Add
ThisWorkbook.Sheets(Array("Grille présélection", "Listes D.")).Copy Before:=NewBook.Sheets(1)
If Dir(FPath & "\" & FName) <> "" Then
MsgBox "File " & FPath & "\" & FName & " Un fichier du même nom existe déjà dans ce répertoire"
Else
'Pour déprotéger la feuille du fichier source
Sheets("Grille présélection").Unprotect Password:=""
NewBook.Sheets("Feuil1").Visible = False
NewBook.SaveCopyAs Filename:=FPath & "\" & FName
NewBook.Close SaveChanges:=False
'Pour protéger la feuille du fichier source
Sheets("Grille présélection").Protect Password:=""
End If
MsgBox "Le fichier a été exporté et enregistré dans le répertoire de destination !"
End Sub