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 :

Aide Macro copier une feuille d'un classeur [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 34
    Par défaut Aide Macro copier une feuille d'un classeur
    Bonjour à tous,

    Voilà, je cherche à copier une feuille d'un classeur Excel et le sauvegarder dans un dossier.
    Je suis débutant sur VBA, j'ai pu établir le code ci dessous. Cependant, il me copie tout le classeur et non la feuille "Etape 2 - Factures EDF".

    Je cherche donc un peu d'aide pour corriger mon code.

    Je vous remercie par avance.

    Bien à vous.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Sub CommandButton1_Click()
    Dim nom As String
        nom = "Facture EDF_" & Sheets("ETAPE 2 - Factures EDF").Range("C4") & "_" & ActiveWorkbook.Name
        ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\Factures_EDF\" & nom
        rep = MsgBox("Votre facture est sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Copie sauvegarde classeur")
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    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
    Private Sub CommandButton1_Click()
    Dim nom As String
        nom = "Facture EDF_" & "_" & ThisWorkbook.Name
        CopySheetSaveAs ThisWorkbook.Sheets("BD BLS"), ThisWorkbook.Path & "\Factures_EDF\" & nom
        rep = MsgBox("Votre facture est sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Copie sauvegarde classeur")
     
    End Sub
    Sub CopySheetSaveAs(Feuille As Worksheet, Classeur As String)
    Dim Wb As Workbook
    Set Wb = Workbooks.Add
      Feuille.Copy Wb.Sheets(1)
       Wb.Sheets(1).Name = Feuille.Name
       If Dir(Classeur) <> "" Then Kill Classeur
       Wb.SaveAs Classeur
       Wb.Close flase
    End Sub
    Dernière modification par Invité ; 18/05/2015 à 10h36.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 34
    Par défaut
    Merci rdurupt,

    Cependant, j'ai du mal à adapter le script "CopySheetSaveAs" à mon fichier. Il ne fonctionne pas chez moi.

  4. #4
    Invité
    Invité(e)
    Par défaut
    tu n'as rien à adapter juste à copier coller?

    je ne donne jamais de source sans les tester!

    ton répertoire "\Factures_EDF\" existe bien
    sur quel ligne est l'erreur?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2015
    Messages : 34
    Par défaut
    J'ai un message d'erreur qui s'affiche : "Erreur d’exécution '9' : L'indice n'appartient pas à la sélection

    Et en cliquant sur Débogage, la ligne suivante est surlignée en jaune :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CopySheetSaveAs ThisWorkbook.Sheets("BD BLS"), ThisWorkbook.Path & "\Factures_EDF\" & nom

    EDIT: Et oui, le répertoire "\Factures_EDF\" existe bien.

  6. #6
    Invité
    Invité(e)
    Par défaut
    je ne suis pas sur que ton onglet s'appel "BD BLS" qui est mon classeur d'exemple mais sans doute "ETAPE 2 - Factures EDF"

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

Discussions similaires

  1. macro pour copier une feuille d'un classeur à un autre
    Par rihab92 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2015, 21h05
  2. [XL-2003] copier une feuille sur un classeur fermé
    Par zangaloni dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/01/2012, 19h23
  3. MACRO - Copier une feuille dans toutes les feuilles (sauf 2)
    Par macto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/02/2011, 08h53
  4. Copier une feuille dans un classeur nouvellement créé
    Par jonathanoudelet dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/11/2008, 10h57
  5. je veu copier une feuille d'un classeur et il affiche erreur 424
    Par booskap dans le forum Macros et VBA Excel
    Réponses: 58
    Dernier message: 26/07/2007, 09h31

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