Rechercher : dans
Par :

[VBA/EXCEL] :Sauver uniquement une feuille ?

Dernière réponse le 15 jui 2008 à 15:38:37 Pemex, le 14 jui 2008 à 18:28:35 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Internet Explorer 6.0

1

Polux31, le 14 jui 2008 à 19:20:37

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) «Ce que l'on conçoit bien s'énonce clairement, Et les mots p­our le dire arrivent aisément.» 
Nicolas Boileau

Répondre à Polux31

2

 Pemex, le 15 jui 2008 à 15:38:37

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,

++

Répondre à Pemex
Collection CommentÇaMarche.net