Pour ne pas avoir de code VBA ne pas copier la feuille mais les cellules :
Code:
Sub Sauvegarde_Sur_Répertoire(Choix$, Client$)
Dim fichier As String
'------------------ SAUVEGARDE SUR REPERTOIRE EXCEL ----------
If Choix = "DEVIS n°" Then
fichier = "c:\Save_Devis_Excel\Devis" & "\" & Client & ".xls"
GoTo 1
ElseIf Choix = "FACTURE n°" Then
fichier = "c:\Save_Devis_Excel\Facture" & "\" & Client & ".xls"
GoTo 1
End If
Exit Sub
1 Application.ScreenUpdating = False
With Workbooks.Add(xlWBATWorksheet).Sheets(1)
.Name = Client
ThisWorkbook.Sheets(Client).Cells.Copy .[A1] 'copie les cellules
.[A1].Copy .[A1] 'vide le presse-papier (nécessaire sur Excel 2007)
On Error Resume Next 'si le fichier existe déjà
.SaveAs fichier, IIf(ThisWorkbook.FileFormat = xlNormal, 1, 56)
.Parent.Close False
End With
End Sub
Quant aux boutons ou objets, ajuster (si nécessaire) leur propriété à Ne pas déplacer ou dimensionner avec les cellules.