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 :

Dupliquer des feuillets avec une macro [XL-2010]


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
    Juin 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 32
    Par défaut Dupliquer des feuillets avec une macro
    Bonjour,

    Je dispose d'un fichier central, où il y a de nombreux feuillets. Hebdomadairement, je dois dupliquer chaque feuillet. Donc l'opération est la suivante : je fais un clic droit sur le feuillet Déplacer ou copier puis dans l'emplacement je sélectionne nouveau classeur et je coche créer une copie. Par la suite, j'enregistre le feuillet dans un répertoire spécifique manuellement.
    Seulement certains feuillets du fichier central doivent être dupliqués.

    Ma question est la suivante : Est-ce qu'il y a une macro capable d'automatiser la copie des feuillets dans de nouveaux classeurs et que la macro permette également d'enregistrer le feuillet situé dans le nouveau classeur dans le répertoire de mon choix ?

    Merci d'avance pour votre aide.

    Cordialement,

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Citation Envoyé par Yams75 Voir le message
    Ma question est la suivante : Est-ce qu'il y a une macro capable d'automatiser la copie des feuillets dans de nouveaux classeurs et que la macro permette également d'enregistrer le feuillet situé dans le nouveau classeur dans le répertoire de mon choix ?
    Oui !
    Tu décris toutes les actions que tu fais manuellement : utilise, donc, l'enregistreur de macro pour connaître le code associé. Une fois que tu as obtenu le code avec l'enregistreur de macro tu l'adaptes. Si après cela tu bloques encore, reviens vers nous

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 32
    Par défaut
    Bonjour,

    Merci pour votre réponse. J'ai utilisé l'enregistreur de macro et cela a fonctionné dans un premier temps. En effet, lorsque je copie un feuillet dans le nouveau classeur, la macro fonctionne parfaitement et elle enregistre même le fichier.

    Néanmoins, j'ai essayé l'enregistreur de macro pour qu'il copie plusieurs feuillets dans le nouveau classeur et là j'obtiens l'erreur suivante :

    Erreur d'exécution 9: l'indice n'appartient pas à la sélection.

    Je vous poste les deux codes:

    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 Macro1()
    '
    ' Macro1 Macro
    '
     
    '
        Sheets("base livraison").Select
        Sheets("base livraison").Copy
        Windows("Classeur1").Activate
        Sheets("cumul pays").Select
        Sheets("cumul pays").Copy Before:=Workbooks("Classeur2").Sheets(1)
        Windows("Classeur1").Activate
        Sheets("indic").Select
        Sheets("indic").Copy Before:=Workbooks("Classeur2").Sheets(1)
        ChDir "C:\Users\FRAAL\Downloads"
        ActiveWorkbook.SaveAs Filename:="C:\Users\FRAAL\Downloads\transpxpr.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    End Sub

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Macro3()
    '
    ' Macro3 Macro
    '
     
    '
        Sheets("indic").Select
        Sheets("indic").Copy
        ActiveWorkbook.SaveAs Filename:="C:\Users\FRAAL\Downloads\transpttt.xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
    End Sub

    La Macro 1 est celle qui ne fonctionne pas avec plusieurs feuillets dupliqués dans le nouveau classeur et la Macro 3 est celle qui fonctionne quand je duplique un seul feuillet dans le nouveau classeur.

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 680
    Par défaut
    Bonjour,

    Pour copier plusieurs plusieurs feuilles dans un nouveau classeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(Array("Sheet2", "Sheet3", "Sheet4")).Copy

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 32
    Par défaut
    Tout fonctionne. Merci beaucoup pour votre aide

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2017
    Messages : 32
    Par défaut
    Juste une petite question encore :

    Lorsque j'arrive je modifie le code pour mettre la fonction SheetArray puis que j'exécute, tout fonctionne mais à un moment, arrivé à certain feuillet, j'obtiens l'erreur suivante :
    erreur d'exécution : '-2147352565 (8002000b)' Dimension spécifiée non valide pour le type de graphique en cours

    J'ai regardé le code et ce sont exactement les mêmes lignes que celles qui ont marché et le feuillet est le même que les autres

    L'erreur met fin à l'exécution du code.

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

Discussions similaires

  1. Problèmes pour tracer des graphiques avec une macro
    Par Margoooot dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/08/2011, 17h19
  2. Renommer des variables avec une macro SAS
    Par zellinho dans le forum Macro
    Réponses: 15
    Dernier message: 21/03/2011, 17h57
  3. rajouter des doublons avec une macro dans une colonne
    Par Banel dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/08/2008, 23h58
  4. Réponses: 4
    Dernier message: 24/04/2008, 09h31
  5. Modifer des liens avec une macro
    Par NemKa dans le forum VBA Word
    Réponses: 4
    Dernier message: 25/06/2007, 11h45

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