[VBA/EXCEL] :Sauver uniquement une feuille ?

Résolu/Fermé
Pemex Messages postés 8 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 25 juillet 2008 - 14 juil. 2008 à 18:28
Pemex Messages postés 8 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 25 juillet 2008 - 15 juil. 2008 à 15:38
Bonjour,

Comment faire pour sauvegarder une feuille excel, mais pas le Workbook tout entier ?

Si je rentre :

ActiveSheet.SaveAs Filename:=Nom_Fichier
ActiveWorkbook.ActiveSheet Filename:=Nom_Fichier

Cela m'enregistre le Workbook tout entier...

Et la formule

Sheets("NOM").SaveAs

ne fonctionne pas non plus.

Quelqu'un connaît la réponse ? Merci d'avance.
A voir également:

1 réponse

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
14 juil. 2008 à 19:20
Salut,

Il faut créer un nouveau classeur avec une seule feuille et ensuite copier la feuille dans le nouveau classeur ::
Dim wk As Workbook
Dim ws As Worksheet

    Set wk = Workbooks.Add(xlWBATWorksheet)
    Set ws = ThisWorkbook.Worksheets(3)
    ws.Copy After:=wk.Sheets(Sheets.Count)


;o)
8
Pemex Messages postés 8 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 25 juillet 2008
15 juil. 2008 à 15:38
Salut,

Impeccable ca fonctionne trés bien.

Ci joint le code permettant de même de sauvegarder la nouvelle feuille (en insérant la date du rapport dans le nom) et de la fermer :

Private Sub CommandButton1_Click() 'copie sauvegarde rapport
Dim wk As Workbook
Dim ws As Worksheet

    Set wk = Workbooks.Add(xlWBATWorksheet)
    Set ws = ThisWorkbook.Worksheets("Cond_Ope_Fuerzas")
    ws.Copy After:=wk.Sheets(Sheets.Count)
    
Dim nom, chemin As String
    nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveSheet.Name
    chemin = Workbooks("Prog_Extraccion_datos").Path & "\" & nom
    ActiveWorkbook.ActiveSheet.SaveAs Filename:=chemin
    rep = MsgBox("El reporte de Fuerzas ha sido guardado en : " & nom, vbYes + vbInformation, "Guardar el reporte")
    ActiveWorkbook.Close
End Sub


Merci,

++
0