Créez une Boîte de Dialogue Enregistrer Sous pour sauvegarder 1 seule feuil

Bonjour et bonne année à tous,

Comme indiqué dans le titre j'ai un fichier avec plusieurs feuilles et je voudrais:

- Ouvrir une boite de dialogue pour créer un nouveau fichier au format ".xlsx"
- Le nouveau fichier ne doit contenir que la feuille s'appelant "EXPORT".

Je vous remercie par avance.

Cordialement.

Olivier

Personne n'aurait une idée?

J'ai mis de coté le "Enregistrer sous" et ai défini un chemin d'acces.

J'ai éssayé quelque chose comme ca mais ca bloque sur le :

Workbook.Worksheets("Export").SaveCopyAs Filename:=path & Année & "-" & Date_Enregistrement & "-" & Utilisateur & ".xlsx"
Sub Test()

    Application.ScreenUpdating = False

    Worksheets("Export").Visible = True

        'Déclaration variables.
        Utilisateur = Application.UserName
        Date_Enregistrement = Sheets("Listes").Range("A13").Value
        Année = Sheets("Listes").Range("A11").Value

        'On déclanche la copie
        Dim path As String

        path = "Chemin d'accès..."

        Application.DisplayAlerts = False

        'ActiveWorkbook.SaveCopyAs Filename:=path & Année & "-" & Date_Enregistrement & "-" & Utilisateur & "-SUIVI_PROD_Peintatech" & ".xlsm"

        Workbook.Worksheets("Export").SaveCopyAs Filename:=path & Année & "-" & Date_Enregistrement & "-" & Utilisateur & ".xlsx"

        Application.DisplayAlerts = True

    Application.ScreenUpdating = True

End Sub

Bonjour,

Pour info, en faisant clic droit sur la feuille en question > Déplacer ou copier > Vers : Nouveau classeur + cocher "Créer une copie". Vous pouvez ensuite sauvegarder normalement ce nouveau classeur contenant la feuille, avec CTRL+S par exemple.

C'est pas vraiment plus long que VBA, et sans erreur.

On peut recréer ce processus en VBA comme ceci :

Sub CopierEtEnregistrer()

    Dim Utilisateur As String, DateEnr As String, Annee As String
    Utilisateur = Application.UserName
    DateEnr = ThisWorkbook.Worksheets("Listes").Range("A13").Value
    Annee = ThisWorkbook.Worksheets("Listes").Range("A11").Value

    ThisWorkbook.Worksheets("Export").Copy
    With ActiveWorkbook
      .SaveAs Application.GetSaveAsFilename(Annee & "-" & DateEnr & "-" & Utilisateur & ".xlsx")
      ' .Close ' pour fermer le classeur automatiquement
    End With

End Sub

Vous êtes au top !!!

Je m'y prenais mal...

Je vous remercie pour toutes ces précisions :-)

Bonne journée à vous et bonne continuation.

Merci pour votre retour, à vous de même.

Rechercher des sujets similaires à "creez boite dialogue enregistrer sauvegarder seule feuil"