Bonjour à tous,
Je me heurte à un petit problème. Depuis une même macro,
je cherche à copier un onglet dans un nouveau fichier, en y enlevant:
- les boutons de macro
- les macros
- les formules et liens
Une fois cela fait (mon fichier est crée avec le bon onglet sous le nom générique Classeur"x"), je cherche à enregistrer le nouveau fichier sous un nom définit par certaines cellules du nouveau fichier et à ouvrir la boite d'enregistrement sous, pour laisser à l'utilisateur le choix de l'endroit de réception du fichier.
Ma boite d'enregistrement sous s'ouvre bien, en proposant le bon nom de fichier. Mon problème est que lors de la validation d'enregistrement, il y a bug me soulignant la phrase:
ActiveWorkbook.SaveAs NomSauve
Malgré mais recherche, je ne trouve pas la raison de ce bug.
Merci de votre aide.
Voici ma Macro:
Sub CopierFeuille()
Application.EnableEvents = False
ThisWorkbook.Sheets("PSR").Copy
With ActiveWorkbook
'suppression des boutons
ActiveSheet.Shapes.SelectAll
Selection.Delete
'suppression des macros
With .VBProject.VBComponents(.Sheets(1).CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
'Suppression des formules
Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Cells(1, 1).Select
'definition du nom du fichier
NomDeSauvegarde = "PSR_Applicant" & "_" & ActiveWorkbook.Sheets("PSR").Range("K2").Text & ActiveWorkbook.Sheets("PSR").Range("M2").Text & ActiveWorkbook.Sheets("PSR").Range("O2").Text & ActiveWorkbook.Sheets("PSR").Range("P2").Text & " " & Left(ActiveWorkbook.Sheets("PSR").Range("B10").Text, 8)
NomSauve = ActiveWorkbook.Application.GetSaveAsFilename(InitialFileName:=NomDeSauvegarde, _
FileFilter:="Excel Files (*.xls*), *.xls*")
If NomSauve = False Then Exit Sub
ActiveWorkbook.SaveAs NomSauve
End With
Application.EnableEvents = True
End Sub