IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Copier une Feuil dans nouveau classeur et Sauve sous le Nom Contenu dans une variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut Copier une Feuil dans nouveau classeur et Sauve sous le Nom Contenu dans une variable
    Bonsoir,

    Je souhaiterais copier une feuille dans un nouveau classeur
    et sauvegarder ce nouveau classeur sous un Nom donné par une variable
    est-ce possible ?

    Pour faire simple, Je veux remplacer "Classeur1.xls" par une variable
    qui contiendra le Nom de Fichier à sauvegarder mais comment écrire le code ?
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
       Sheets("Feuil1").Select
        Sheets("Feuil1").Copy
        ActiveWorkbook.SaveAs Filename:= _
            "C:\Mes documents\Classeur1.xls", FileFormat:= _
            xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
            , CreateBackup:=False
        Windows("FichierOrigine").Activate

  2. #2
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Ça devrait pouvoir ressembler à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub CopierEtEnregistrerSous()
        Dim dlg As FileDialog
        Dim nomFichier As String
     
        ' Copier la feuille active
        ActiveSheet.Copy
     
        ' Afficher une boîte de dialogue Enregistrer sous
        Set dlg = Application.FileDialog(msoFileDialogSaveAs)
        With dlg
            .AllowMultiSelect = False
            If .Show = -1 Then
                ' enregistrer le fichier
                ActiveWorkbook.SaveAs Filename:=.SelectedItems(1)
            End If
        End With
        Set dlg = Nothing
    End Sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    C'est un premier pas, mais l' idéal serait que le Nom du nouveau Fichier
    se mette automatiquement dans cette boite à partir d'une variable.
    car j'ai plusieurs feuilles à copier ainsi et à sauvegarder
    Exigeant n'est-ce pas ?

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Comprends-je que tu ne veux pas que l'utilisateur choisisse le nom du fichier et son emplacement ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 51
    Points : 43
    Points
    43
    Par défaut

    J'ai la solution!!!
    ton aide m'a mis sur la voie... après x essais CA MARCHE !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sheets("Feuil1").Select
    Sheets("Feuil1").Copy
    Dim nomFichier As String
    nomFichier = Worksheets("Feuil1").Cells(10, 8)
    With Worksheets("Feuil1")
         ActiveWorkbook.SaveAs Filename:=nomFichier   'enrégistre le nouveau fichier
    End With
     
    Windows("FichierOrigine").Activate         'retourne au fichier précédent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/05/2014, 20h58
  2. Réponses: 8
    Dernier message: 13/02/2014, 18h51
  3. [XL-2002] Extraction de lignes non contigües pour les copier dans nouveau classeur
    Par JerCaz dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/03/2010, 09h46
  4. copier onglets dans nouveau classeur
    Par hlander dans le forum Macros et VBA Excel
    Réponses: 29
    Dernier message: 13/02/2009, 10h29
  5. vba excel:copier le contenu d'une feuil dans une autre feuil
    Par yucf_miagiste dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/09/2007, 19h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo