Microsoft 365 Comment exporter certaines feuilles d'un classeur dans un nouveau classeur.

DenisHen

XLDnaute Nouveau
Bonjour à la communauté.
Aujourd'hui, je cherche à sauvegarder certaines feuilles de mon classeur vers un nouveau classeur. Le tout en VBA bien-sûr.
Je n'ai aucune idée par où commencer, saur par un "msoFileDialogSaveAs", mais je n'en suis pas certain, j'ai fais plusieurs testes vains.
J'aimerais juste placer les feuilles dans un .xls, pour rester au plus simple. Il n'y a que des données, aucune formule, aucun lien...
Je pensais à un truc du genre : Sheets("feuilleàcopier").Copy, mais, il faut que j'arrête de ramer, j'attaque la falaise ! !
Si quelqu'un a une astuce, une idée, un conseil, je suis preneur.
Bien à toi la communauté.
Denis...
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Denishem,
Si le fichier destination est à créer, alors le plus simple est de supprimer les feuilles indésirables du fichier courant puis faire un "enregistrer sous".
Si le fichier destination existe et qu'il faut l'enrichir alors c'est un poil plus complexe.
Dans quelle situation êtes vous ?
 

Jacky67

XLDnaute Barbatruc
Bonjour à la communauté.
Aujourd'hui, je cherche à sauvegarder certaines feuilles de mon classeur vers un nouveau classeur. Le tout en VBA bien-sûr.
Je n'ai aucune idée par où commencer, saur par un "msoFileDialogSaveAs", mais je n'en suis pas certain, j'ai fais plusieurs testes vains.
J'aimerais juste placer les feuilles dans un .xls, pour rester au plus simple. Il n'y a que des données, aucune formule, aucun lien...
Je pensais à un truc du genre : Sheets("feuilleàcopier").Copy, mais, il faut que j'arrête de ramer, j'attaque la falaise ! !
Si quelqu'un a une astuce, une idée, un conseil, je suis preneur.
Bien à toi la communauté.
Denis...
Bonjour à tous
Sil s'agit de copier simplement certaine feuille dans un nouveau classeur, alors le code ci-dessous devrait faire.
En adaptant le chemin et le nom des feuilles à copier
dans cet exemple le classeur aura comme nom celui des feuilles a copier
VB:
Sub créationClasseur()
    Dim Sh As Worksheet, Chemin$
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False    ' Supprimerr cette ligne s'il faut avertir que le classeur existe déja
    Chemin = ThisWorkbook.Path & "\"    ' A adapter (ici le même chemin que le classeur source)
    For Each Sh In Sheets(Array("Feuil2", "Feuil3", "Feuil5"))    ' adapter le nom des feuilles a copier
        Sh.Copy
        With ActiveWorkbook
            .SaveAs Chemin & Sh.Name, FileFormat:=51
            .Close False
        End With
    Next
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 863
Messages
2 113 644
Membres
111 929
dernier inscrit
YJM