Créer des classeurs à partir de feuilles.

Résolu/Fermé
Paulo - 30 nov. 2020 à 11:09
 Paulo - 30 nov. 2020 à 11:27
Bonjour,

Je suis tombé sur ce code sur un autre forum, il permet de copier le contenu d'un onglet et d'en faire un nouveau classeur.
Ma question est la suivante. J'aimerai pouvoir l'utiliser pour deux onglets et non un seul.

Voici le code :

Sub SauvegardeFacture()

Dim extension As String, chemin As String, nomfichier As String, nomfichier2 As String
extension = ".xls"
chemin = "C:\"

nomfichier = Sheets("Feuil1").Range("A1") & extension
'nomfichier2 = Sheets("Feuil2").Range("A1") & extension

Sheets("Feuil1").Copy
'Sheets("Feuil2").Copy
ActiveWorkbook.SaveAs Filename:=chemin & nomfichier
'ActiveWorkbook.SaveAs Filename:=chemin & nomfichier2
End Sub


L'idée étant de pouvoir effectuer cette création de nouveau classeur pour deux onglets (Feuil1 et Feuil2).
Hors, si je décommente les lignes concenant Feuil2, la macro plante sur la ligne
'Sheets("Feuil2").Copy
indiquant que la feuille est introuvable (elle est bien présente dans mon classeur test, qui comprend uniquement deux onglets Feuil1 et Feuil2)

Merci d'avance.


Configuration: Windows / Edge 18.17763

2 réponses

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 284
30 nov. 2020 à 11:22
Bonjour,
Teste comme ceci
Sub SauvegardeFacture()

Dim extension As String, chemin As String, nomfichier As String, nomfichier2 As String
extension = ".xls"
chemin = "C:\"

nomfichier = Sheets("Feuil1").Range("A1") & extension
nomfichier2 = Sheets("Feuil2").Range("A1") & extension

Sheets("Feuil1").Copy
ActiveWorkbook.SaveAs Filename:=chemin & nomfichier
ActiveWorkbook.Close
Sheets("Feuil2").Copy
ActiveWorkbook.SaveAs Filename:=chemin & nomfichier2
ActiveWorkbook.Close
End Sub
1
Ca fonctionne, merci beaucoup !
0