Créer des classeurs à partir de feuilles. [Résolu]

Signaler
-
 Paulo -
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

Messages postés
979
Date d'inscription
lundi 22 septembre 2008
Statut
Membre
Dernière intervention
10 janvier 2021
199
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
Ca fonctionne, merci beaucoup !