Enregistrer une unique feuille dans un nouveau classeur

Bonjour,

Je travail sur un outil permettant de faire des dérogations, une fois complétée, la dérogation s'enregistre dans un nouveau classeur et dans un autre fichier.

Actuellement l'enregistrement du classeur entier se fait au bon endroit lorsque j'utilise ma Maccro.

Mon problème est que mon classeur est composé de plusieurs feuilles (5pour être précis) et j'aimerai en enregistrer une seule.

J'ai essayé d'utiliser "Worksheets" de plusieurs manière mais sans succès. (Je pense pourtant que c'est la solution...)

Je vous joint mon code actuel :

Sub Export()
    Dim Fichier As String, Chemin As String

    'Renseigner le nom
    NomDossier = Application.InputBox("Nom du dossier", "Enregistrement", "")
    If NomDossier = "Faux" Then
        MsgBox ("L'ernregistrement a été annulé")
    Exit Sub
    Else

    Chemin = "...\"
    'nom du fichier
    Fichier = Range("E3") & "-" & NomDossier & ".xlsm"

    ActiveWorkbook.SaveCopyAs Chemin & Fichier
End Sub
    

J'espère avoir été assez précis

Merci d'avance !

Bonjour,

L'instruction Sheets(1).Copy te permet de copier l'onglet 1, et de créer un nouveau fichier avec cet onglet..

Ce nouveau fichier sera actif, donc la fin du code devrait le faire...(si tu as du code dans l'évènement de feuille, sinon tu peux enregistrer en .xlsx tout simplement..)

Peut-être?

Bonjour,

J'avais déjà essayer cette instruction (je l'ai fait un nouveau).

En effet, une seule feuille s'ouvre dans un nouveau classeur. Mais celui-ci n'a pas le nom donné et n'est pas enregistré automatiquement à l'emplacement voulu.

Il me semble que l'instruction "Sheets(1).SaveCopyAs" n'est pas possible, cela m'aurait facilité la tâche..

(J'ai encore du code dans l’évènement feuille, c'est pourquoi je l'enregistre en .xlxm)

Merci d'avoir essayé ;)

Re-,

ce code fonctionne chez moi :

Sub Export()
Dim Fichier As String, Chemin As String

'Renseigner le nom
NomDossier = Application.InputBox("Nom du dossier", "Enregistrement", "")
If NomDossier = "Faux" Then
    MsgBox ("L'ernregistrement a été annulé")
    Exit Sub
Else
    Chemin = ThisWorkbook.Path & "/" ' A définir
    'nom du fichier
    Fichier = Range("E3") & "-" & NomDossier & ".xlsm"
    Sheets(1).Copy
    ActiveWorkbook.SaveAs Chemin & Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
End Sub

Peut-être?

Re,

Il ne fonctionne pas chez moi (un nouveau classeur s'ouvre avec la bonne feuille certes, mais encore une fois il n'est enregistré nul part et se nomme "Classeur#")

De plus j'ai ce message d'erreur qui s'affiche :

image

Aurais-je fais une mauvaise manip ?

Re-,

Certains caractères sont interdits dans le nommage des fichiers...

<, >, :, “, /, \, |, ?, *

Ainsi que les points, et les espaces en fin..

Peut-être?

Re,

L'erreur venait de :
ThisWorkbook.Path &
après avoir enlevé ceci une autre erreur s'affiche :
image Le nommage de mes fichiers ne comprennent pas de caractères "interdits"..
En tout cas merci pour votre réactivité !
Chemin = ThisWorkbook.Path & "/" ' A définir
c'est un "\" au lieu d'un "/" ???

Sur le chemin j'ai toujours laissé "\" donc ce n'est pas qui posait problème :/

Mais ta remarque est bonne l'ami !

Re-,

Chemin = ThisWorkbook.Path & "/" ' A définir
c'est un "\" au lieu d'un "/" ???

les 2 fonctionnent... (du moins, ici, à Brest-même)

Bonne soirée

bonjour @Cousinhub,

je pensais que "/" était pour un MAC et "\" pour Windows, non ? Je le demande à mon ami Google

Also worth pointing out that / works perfectly well on Windows unless an app goes out of its way to stop it working.

Vous avez raison !

Hello,

Je reviens vers vous, après avoir relu mon code ligne par ligne et en le comparant à ce que tu avais fait @cousinhub.

L'erreur (comme souvent) venait de moi, j'avais oublié une lettre.

Ta réponse était donc bonne !

Merci beaucoup !

Rechercher des sujets similaires à "enregistrer unique feuille nouveau classeur"