Créer des classeurs à partir de feuilles.

Résolu
Paulo -  
 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

  1. M-12 Messages postés 1349 Statut Membre 285
     
    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