Enregistrer uniquement la Feuil3 dans un classeur ?

anthony.unac

XLDnaute Occasionnel
Bonjour,

Partant d un fichier excel : toto.xls contenant 3 feuilles, je souhaiterai pouvoir enregistrer uniquement la feuil3 et pas les autres lorsque j appuie sur enregistrer sous.

Comment puis je faire ?

Cordialement
Anthony
 

Fanfan68

XLDnaute Junior
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Bonjour Anthony, bonjour le forum,

Tu fais un clique droit sur la feuille en question puis "Déplacer ou copier" puis tu déplace ta feuille soit dans un classeur déja ouvert, soit dans un nouveau classeur que tu "enregistreras sous" une fois l'opération faite.

A bientôt
 

Catrice

XLDnaute Barbatruc
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Bonjour,

Pour le fun ;)

Fichier enregistrer sous => choisir Classeur Excel version 4.0.
Ca n'enregistre qu'une seule feuille.

Inconvénient, tu risques de perdre des fonctionnalités de ta version actuelle.
Liste de validation par exemple.
 

anthony.unac

XLDnaute Occasionnel
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Bonjour Anthony, bonjour le forum,

Tu fais un clique droit sur la feuille en question puis "Déplacer ou copier" puis tu déplace ta feuille soit dans un classeur déja ouvert, soit dans un nouveau classeur que tu "enregistreras sous" une fois l'opération faite.

A bientôt

Merci beaucoup pour ta reponse fanfan.
Oui bien sur mais le but etait de faire tout ca de facon automatique avec une macro car les membres de mon equipe n ont pas le temps de faire tout ca avec autant de minutie.

Cordialement
Anthony
 

anthony.unac

XLDnaute Occasionnel
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Bonjour,

Pour le fun ;)

Fichier enregistrer sous => choisir Classeur Excel version 4.0.
Ca n'enregistre qu'une seule feuille.

Inconvénient, tu risques de perdre des fonctionnalités de ta version actuelle.
Liste de validation par exemple.

Même pour le fun j avoue que la je suis un peu largue :confused:

C est quoi ce classeur Excel version 4.0 ???

Qu entends tu par liste de validation ?

Cdt
Anthony
 

Catrice

XLDnaute Barbatruc
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Re,

C est quoi ce classeur Excel version 4.0 ???
C'est la possibilité d'enregistrer ton fichier dans une version antériéure.
Ici la version 4, la version la plus récente qui ne possèdait pas d'onglet. Il n'y avait qu'une seule feuille par fichier XLS.

Qu entends tu par liste de validation ?
Données/Validation est une option d'Excel qui n'existait pas dans Excel 4. Donc quand on enregistre dans ce format (ancien) on perd la liste ainsi créé. Ce n'est qu'un exemple. On perdrait également les Mises en formes conditionnelles (Format/Mise en forme Conditionnelle), les fonctionnalités lien hypertexte etc ...

C'est pour le Fun car ça ne répond pas à priori directement à ta demande ...


ci-dessous le code correspondant à ta question :
Code:
Sub Test()
Sheets("Feuil3").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Test.xls"
Workbooks("Test.xls").Close True
End Sub
 
Dernière édition:

anthony.unac

XLDnaute Occasionnel
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Re,

C'est la possibilité d'enregistrer ton fichier dans une version antériéure.
Ici la version 4, la version la plus récente qui ne possèdait pas d'onglet. Il n'y avait qu'une seule feuille par fichier XLS.

Données/Validation est une option d'Excel qui n'existait pas dans Excel 4. Donc quand on enregistre dans ce format (ancien) on perd la liste ainsi créé. Ce n'est qu'un exemple. On perdrait également les Mises en formes conditionnelles (Format/Mise en forme Conditionnelle), les fonctionnalités lien hypertexte etc ...

C'est pour le Fun car ça ne répond pas à priori directement à ta demande ...


ci-dessous le code correspondant à ta question :
Code:
Sub Test()
Sheets("Feuil3").Copy
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Test.xls"
Workbooks("Test.xls").Close True
End Sub

Ce code avait l air tres bien mais lorsque j ai voulu l inserer, voici le message d'erreur que j ai eu :
Code:
Erreur d execution '28'
Espace pile insuffisant
 

Catrice

XLDnaute Barbatruc
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Re,

Quelle est ta version d'Excel ?
As tu testé ce code dans un fichier contenant d'autres modules ?
Si oui, ferme Excel et ré-essaie dans un fichier vierge. Regarde également dans l'aide Vba : "Erreurs récupérables" il y a un certain nombre de choses à vérifier concernant l'erreur "Espace pile insuffisant (erreur 28)".

Le code fontionne chez moi sur une version Excel 2002.
 

kiki29

XLDnaute Barbatruc
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Salut, voilà ce que j'ai employé, sans doute à adapter à ton contexte
Code:
Option Explicit

Sub Tst()
Dim i As Long, Ar() As String, Cpt As Long

    Cpt = 0
    For i = 1 To ThisWorkbook.Sheets.Count
        If Left$(Sheets(i).Name, 2) = "RF" Or Left$(Sheets(i).Name, 2) = "RC" Then
            ReDim Preserve Ar(Cpt)
            Ar(Cpt) = Sheets(i).Name
            Cpt = Cpt + 1
        End If
    Next i
    If Cpt = 0 Then Exit Sub
    
    Application.ScreenUpdating = False
    Sheets(Ar).Copy

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "Test.xls", FileFormat:=xlNormal
    ActiveWindow.Close
    With Application
        .DisplayAlerts = True
        .ScreenUpdating = True
    End With
    Sheets("RC1").Select
End Sub
 

Catrice

XLDnaute Barbatruc
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Bonjour Kiki29,

Une petite adaptation de ton code :
Code:
Sub Test()
Dim Ar() As String
Cpt = 0
For Each X In ThisWorkbook.Sheets
    If Left$(X.Name, 2) = "RF" Or Left$(X.Name, 2) = "RC" Then
        ReDim Preserve Ar(Cpt)
        Ar(Cpt) = X.Name
        Cpt = Cpt + 1
    End If
Next
If Cpt = 0 Then Exit Sub
Application.ScreenUpdating = False
Sheets(Ar).Copy
ActiveWindow.Close SaveChanges:=True, Filename:=ThisWorkbook.Path & "\" & "Test.xls"
Application.ScreenUpdating = True
End Sub
 
Dernière édition:

anthony.unac

XLDnaute Occasionnel
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Re,

Tous les codes que vous avez fourni aboutissent a la création d un fichier Test.xls qui comporte toutes les feuilles du fichier d'origine et non pas que la feuil3.

Je vous envoie ci joint un fichier simplifie qu il faut manipuler de la façon suivante par exemple :

1/ Ouvrir le fichier d'origine "Copie de FICHE DE LIAISON NOUVELLE.xls"
******************************************************
La date de la prochaine réception sera le 22/09/2009

Faire Enregistrer sous
'A ce stade un fichier "Fiche de Liaison du 22.09.2009" se créer automatiquement avec toutes les feuilles du fichier d'origine

Inscrire en Feuil1.[E59] la valeur 1
'On remarque alors qu il apparait 1 palette dans le suivi logistique en date du 22/09/2009

Enregistrer a l aide de l icône disquette

Fermer avec la croix

2/ Ouvrir le fichier d'origine "Copie de FICHE DE LIAISON NOUVELLE.xls"
*****************************************************
La date de la prochaine réception sera le 23/09/2009

Faire Enregistrer sous
'A ce stade un fichier "Fiche de Liaison du 23.09.2009" se créer automatiquement avec toutes les feuilles du fichier d'origine

Inscrire en Feuil1.[E59] la valeur 2
'On remarque alors qu il apparait 2 palettes dans le suivi logistique en date du 23/09/2009

Enregistrer a l aide de l icône disquette

Fermer avec la croix

But de la manœuvre :
*****************
Créer un historique du suivi logistique (La feuil3 du fichier d origine) afin de voir par exemple ici que le 22/09/2009 une seule palette a été envoyée et que le 23/09/2009 2 palettes ont été envoyées.

En espérant avoir été plus concret
Cordialement
Anthony
 

anthony.unac

XLDnaute Occasionnel
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Mince! le fichier n a pas ete joint le voici donc :
 

Pièces jointes

  • Copie de FICHE DE LIAISON NOUVELLE.zip
    21.1 KB · Affichages: 35
  • Copie de FICHE DE LIAISON NOUVELLE.zip
    21.1 KB · Affichages: 43
  • Copie de FICHE DE LIAISON NOUVELLE.zip
    21.1 KB · Affichages: 42

anthony.unac

XLDnaute Occasionnel
Re : Enregistrer uniquement la Feuil3 dans un classeur ?

Bonjour à tous,



Désolé mais le code dans le message #6 de Catrice ne copie que la feuille 'Feuil3'...

A+ à tous

A l origine oui, vous avez entièrement raison mais il génère (sur mon fichier du moins) l'erreur suivante :

Erreur d execution '28'
Espace pile insuffisant

Le code a donc été adapte en conséquence :

Code:
Sub Test()
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Test.xls"
End Sub

Anthony
 

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 864
Membres
104 294
dernier inscrit
BByd