Bonjour,
J'ai cette macro qui me permet en partant d'une base de donnée d'enregistrer une sauvegarde datée:
Sub ENR()
Dim datesauv As String
datesauv = Format(Now, "dd-mm-yy")
With ActiveWorkbook
.SaveCopyAs Filename:="C:\Users\F017540\Sauvegardes\fichierxxx & " & datesauv & ".xlsm"
End With
Je souhaite partir du même principe pour envoyer des extractions, par contre, le fichier d'origine contient des feuilles comme "Feuil2"que je veux supprimer dans la sauvegarde.
Comme ma macro ci dessus nomme le fichier en rajoutant une date, je n'ai pas de nom de fichier à l'avance, si j'intègre
.Sheets("Feuil2").Delete
cela m'efface la feuille 2 du fichier d'origine, et pas du fichier sauvegardé:
Dim datesauv As String
datesauv = Format(Now, "dd-mm-yy")
With ActiveWorkbook
.SaveCopyAs Filename:="C:\Users\F017540\Sauvegardes\fichierxxx & " & datesauv & ".xlsm"
.Sheets("Feuil2").Delete => comment rajouter l'extention pour nommer le classeur ?
End With
SaveCopyAs crée une copie du fichier mais ne l'ouvre pas.
il faut donc l'ouvrir : Set LeNouveauClasseur = Workbooks.Open("C:\Users\F017540\Sauvegardes\fichierxxx & " & datesauv & ".xlsm" )
Supprimer la feuille LeNouveauClasseur.Sheets("Feuil2").delete
Le Fermer: LeNouveauClasseur.Close True
En changeant d'angle de vue
Je ne veux que les feuilles Titi, Tata et Toto dans mon nouveau classeur
VB:
Sub Copier_Oui_Mais_Pas_Toutes()
strPath = ThisWorkbook.Path & "\"
Worksheets(Array("Toto", "Titi", "Tata")).Copy
With ActiveWorkbook
.SaveAs strPath & "Copie_Test.xlsx", 51: .Close
End With
End Sub
PS: Macro basique => à peaufiner notamment au niveau du nommage du classeur.