Copier Onglet ->Nx Classeur->Enregistrer

Bonjour à tous,

Je ne sais pas si c'est possible, j'ai un onglet dans un classeur, je souhaite au clique d'un bouton, qu'il créé une copie dans un nouveau classeur puis qu'il enregistre ce nouveau classeur.

Est-ce possible en code VBA ?

Merci d'avance,

RQ

Bonjour,

oui, exemple en prenant le nom du fichier et en y rajoutant le nom de la feuille active ;

Sub SaveSh()
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:=Split(ThisWorkbook.Name, ".")(0) & " " & ActiveSheet.Name & ".xlsx"
    ActiveWorkbook.Close True
End Sub

Ça laisse bien le classeur actif ouvert, ça ferme juste le nouveau classeur (contenant la feuille sauvée).

C'est sauvé dans le répertoire par défaut mais on peut spécifier un autre chemin ;

    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:="L:\test\" & Split(ThisWorkbook.Name, ".")(0) & " " & ActiveSheet.Name & ".xlsx"
    ActiveWorkbook.Close True
End Sub

J'aurais utilisé un code sensiblement identique au tien Doux Rêveur, mais au lieu de ".xlsx" j'aurais utilisé Split(ThisWorkbook.Name, ".")(1) car on ne connaît pas l'extension du fichier.

En effet, c'était un exemple mais à adapter.

Rechercher des sujets similaires à "copier onglet classeur enregistrer"