Salut,
Je reviens vers toi avec un code à te proposer de saisir à la place de celui là
Sub CopierOngletDansNouveauClasseur()
Dim ClasseurOrigine As Workbook
Dim NouveauClasseur As Workbook
Dim NomClasseur$
Dim CheminNouveauFichier$
Set ClasseurOrigine = ActiveWorkbook 'Classeur origine où on copie
NomClasseur = "NouveauFichier " & Application.Text(Now, "YYMMDD-HHMM") & ".xls" 'Nom nouveau classeur à créer (avec date et heure pour s'assurer qu'il n'existera pas deja
CheminNouveauFichier = ClasseurOrigine.Path & "\" & NomClasseur 'Chemin entier nouveau classeur
Application.Screenupdating = False
ClasseurOrigine.Sheets("Hors cloche semaine").Copy 'copie de l'onglet à exporter
Set NouveauClasseur = ActiveWorkbook 'Instanciation classeur de destination
With NouveauClasseur 'avec ce nouveau classeur
With .Sheets("Hors cloche semaine") 'sur la feuille collee
.Cells.Copy 'copier toutes les cellules
.Cells.PasteSpecial Paste:=xlPasteValues 'collage special valeurs
.Cells.PasteSpecial Paste:=xlPasteFormats 'collage special formats
.Cells(1, 1).Select 'selectionner la 1ere cellule
End With
.SaveAs Filename:=CheminNouveauFichier 'enregistrer le fichier sous le chemin "CheminNouveauFichier"
.Close 'Fermeture du nouveau classeur
End With
ClasseurOrigine.Activate 'Activation du classeur d'origine
Application.Screenupdating = True
'Sheets("Hors cloche semaine").Delete 'Ligne à prevoir si besoin de supprimer la feuille copiee
End Sub
Petites remarques importantes :
- Ce code est fait pour s'exécuter de n'importe quel onglet du fichier d'origine. Si tu voulais avoir la macro sur l'onglet à copier, tu pourrais remplacer chaque Sheets("Hors cloche semaine") par ActiveSheet. Le nom de l'onglet est important, c'est celui qui sera copié.
D'ailleurs, j'ai l'impression de voir un espace en début de ton titre d'onglet. Ce serait bien de le supprimer.
- Si tu as l'intention de supprimer la feuille copiée, il te suffit d'enlever l'apostrophe sur la dernière ligne de code :
'Sheets("Hors cloche semaine").Delete
Sinon, tu peux supprimer cette ligne du code pour éviter tout problème
- Si tu souhaites définir un emplacement précis, il faudra remplacer
CheminNouveauFichier = ClasseurOrigine.Path & "\" & NomClasseur
PAR
CheminNouveauFichier = "LE CHEMIN COMPLET DU DOSSIER DANS LEQUEL TU VEUX QU'IL SOIT ENREGISTRÉ" & "\" & NomClasseur