Enregistrer renommer feuille classeur

Bonjour.

Je cherche à enregistrer la feuille d'un classeur dans un dossier tout en la renommant, mais je n'arrive pas à trouver comment

1- Faire en sorte que excel enregistre la feuille sans macro uniquement, sans m'afficher la fenêtre suivante

image

2- Que dois-je rajouter à mon code pour éviter cette erreur d’exécution ?

image

Voici mon code

Sub enregistrerEnXLS()
    Dim numRef As String
    numRef = Range("h1")

    Worksheets("TEMPLATE").Copy
    ActiveWorkbook.SaveAs "E:\1 - Perso\" & numRef
    ActiveWorkbook.Close

End Sub

Merci d'avance

Bonjour

Un fichier est TOUJOURS le bienvenu....

Ci joint ma solution

Sub enregistrerEnXLS()
   Application.DisplayAlerts = False
    Dim numRef As String
    numRef = Range("h1") & ".xls"
    ActiveWorkbook.SaveAs "E:\1 - Perso\" & numRef
    Application.DisplayAlerts = True
    ActiveWorkbook.Close
End Sub

A+ François

Bonjour Teddybear37

Que dois-je rajouter à mon code pour éviter cette erreur d’exécution ?

If numref <> "" then

Activeworkbook.Saveas filename:= ..........., Fileformat:=....

End if

Regarder les valeurs que peut prendre le paramètre fileformat dans le lien ci-dessus


Merci pour votre aide.

Avec le code de fanfan38, tout se passe bien.

Sauf que quand j'essaie d'ouvrir le fichier excel, j'ai cette alerte qui s'affiche

image

Certes, en appuyant sur Oui, le fichier s'ouvre, mais comment faire pour éviter ce type d'erreur ?

Bonjour

Sub enregistrerEnXLS()
   If Range("h1").Value = "" Then MsgBox ("H1 est vide"): Exit Sub
   Application.DisplayAlerts = False
    Dim numRef As String
    numRef = "E:\1 - Perso\" & Range("h1")
    ActiveWorkbook.SaveAs Filename:=numRef, FileFormat:=xlWorkbookDefault, CreateBackup:=False
    Application.DisplayAlerts = True
    ActiveWorkbook.Close
End Sub

A+ François

Bonjour FanFan. Merci pour ton code, mais j'obtiens à la fin un fichier sauvegardé la où il faut, mais sans aucune extension, donc impossible à ouvrir avec excel.

Bonjour

Sub enregistrerEnXLS()
   If Range("h1").Value = "" Then MsgBox ("H1 est vide"): Exit Sub
   Application.DisplayAlerts = False
    Dim numRef As String
    numRef = "E:\1 - Perso\" & Range("h1") & ".xlsx"
    ActiveWorkbook.SaveAs Filename:=numRef, FileFormat:=xlWorkbookDefault, CreateBackup:=False
    Application.DisplayAlerts = True
End Sub

A+ François

Merci FanFan !

J'ai eu juste à rajouter Worksheets("TEMPLATE").Copy pour copier uniquement l'onglet que je souhaitais

Rechercher des sujets similaires à "enregistrer renommer feuille classeur"