Note: The other languages of the website are Google-translated. Back to English
Mon Compte  \/ 
x
or
x
S’enregistrer  \/ 
x

or

Comment copier plusieurs feuilles plusieurs fois dans Excel?

Parfois, nous pouvons avoir besoin de faire une copie ou plusieurs copies de feuilles de calcul spécifiées dans un classeur. Voici quelques moyens rapides pour vous aider à copier facilement une ou plusieurs feuilles de calcul plusieurs fois dans Excel.


Faire une copie de plusieurs feuilles de calcul une fois dans un classeur actif ou un autre classeur avec la commande Déplacer ou Copier

Avec la Déplacer ou copier commande dans Excel, vous pouvez créer une copie d'une feuille de calcul, plusieurs feuilles de calcul spécifiques ou toutes les feuilles de calcul dans un classeur actif ou un autre classeur à la fois.

1. Dans le classeur dans lequel vous allez copier des feuilles de calcul, sélectionnez plusieurs feuilles de calcul dans la barre d'onglets de la feuille.
importante: En portant CTRL clé, vous pouvez sélectionner plusieurs onglets de feuille non adjacents en cliquant dessus un par un dans la barre d'onglets de feuille; en portant SHIFT , vous pouvez sélectionner plusieurs onglets de feuille adjacents en cliquant sur le premier onglet de feuille et le dernier dans la barre d'onglets de feuille.

2. Cliquez avec le bouton droit sur l'onglet de la feuille sélectionnée dans la barre d'onglets de la feuille, puis sélectionnez Déplacer ou copier dans le menu contextuel. Voir la capture d'écran:
doc copie plusieurs feuilles 01

3. Dans le Déplacer ou copier boîte de dialogue, veuillez spécifier les paramètres suivants:
(1) Veuillez spécifier le classeur de destination dans lequel vous allez copier les feuilles de calcul à partir du Réserver la liste déroulante. Vous pouvez choisir le classeur actif, un autre classeur ouvert ou un nouveau classeur selon vos besoins.
(2) Spécifiez la position des feuilles copiées sur la barre d'onglets de la feuille, vous pouvez choisir après toutes les feuilles existantes.
(3) Vérifier Créer une copie option, si vous ne cochez pas cette option, les feuilles de calcul sélectionnées seront déplacées dans le classeur de destination.
(4) Cliquez sur le OK .

Maintenant, il ne fera qu'une seule copie des feuilles de calcul sélectionnées dans le classeur spécifié. Pour faire plusieurs copies de ces feuilles de calcul, vous pouvez répéter l'opération plusieurs fois.

Quelques clics seulement pour faire plusieurs copies de plusieurs feuilles de calcul dans le classeur actif

En général, nous pouvons copier plusieurs feuilles de calcul avec le Déplacer ou copier fonctionnalité dans Excel. Cependant, cette fonction ne peut faire qu'une seule copie à la fois. Ici, avec Kutools pour Excel Copier les feuilles de travail utilitaire, vous pouvez facilement faire autant de copies de nombreuses feuilles de calcul que nécessaire dans le classeur actif en quelques clics seulement. Essai gratuit complet de 30 jours!
copie d'annonce plusieurs feuilles de calcul 01

Kutools pour Excel - Comprend plus de 300 outils pratiques pour Excel. Essai gratuit complet de 30 jours, aucune carte de crédit requise! EN DIRECT

Faire plusieurs copies d'une feuille de calcul spécifiée dans un classeur actif avec le code VBA

Si vous souhaitez faire 10 copies d'une feuille de calcul spécifiée, le Déplacer ou copier Cette commande prendra beaucoup de temps et vous devrez répéter l'opération plusieurs fois. Mais avec le code VBA suivant, vous pouvez copier rapidement la feuille de calcul 10 fois à la fois.

1. Maintenez le ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans la fenêtre Module.

VBA: faire plusieurs copies d'une certaine feuille de calcul dans un classeur actif

Sub Copier ()
Dim x As Integer
x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

importante: Dans le code ci-dessus, remplacez "Sheet1"avec le nom de la feuille à copier.

3. Puis appuyez F5 pour exécuter le code, une boîte de dialogue apparaît pour vous demander le nombre de copies de feuille souhaité.

4. Puis clique OK, la feuille de calcul spécifiée a été copiée 100 fois dans le classeur actif.


Faites plusieurs copies de plusieurs feuilles de calcul dans un classeur actif avec Kutools for Excel

Bien qu'il soit simple de faire une copie de plusieurs feuilles de calcul dans Excel, si vous souhaitez faire plusieurs copies de plusieurs feuilles de calcul dans le classeur actuel, vous devrez peut-être utiliser le Déplacer ou copier élément de commande encore et encore. Souhaitez-vous faire le travail en un clic? Avec le Copier les feuilles de travail utilitaire du complément tiers Kutools pour Excel, vous pouvez faire plusieurs copies de plusieurs feuilles de calcul en un seul clic dans Excel.

Kutools pour Excel - Comprend plus de 300 outils pratiques pour Excel. Essai gratuit complet de 30 jours, aucune carte de crédit requise! EN DIRECT

1. Cliquez Kutools Plus > Copier les feuilles de travail. Voir la capture d'écran:

importante: En cliquant Kutools Plus > Feuille > Copier les feuilles de travail obtiendra également cette fonctionnalité.

2. Appliquer les paramètres dans Copier plusieurs feuilles de calcul boite de dialogue:
(1) Vérifiez les feuilles de calcul à partir desquelles vous souhaitez être copié Copier les feuilles de calcul sélectionnées .
(2) Précisez Le nombre de copies.
(3) Déterminez la position des feuilles copiées, par exemple avant ou après toutes les feuilles de calcul, avant ou après la feuille de calcul actuelle.
(4) Cliquez sur le Ok .

3. Une boîte de dialogue apparaît pour vous rappeler que les feuilles de calcul cochées ont été copiées plusieurs fois selon vos besoins, veuillez cliquer sur le bouton OK bouton pour le quitter. Voir la capture d'écran:

Ce Copier plusieurs feuilles de calcul caractéristique de Kutools pour Excel fera plusieurs copies de plusieurs feuilles de calcul spécifiées dans le classeur actif en plusieurs clics uniquement. Faites un essai gratuit!


Faire une copie de plusieurs feuilles de calcul de plusieurs classeurs dans un nouveau

Si Kutools for Excel est installé, vous pouvez également appliquer son Combiner des feuilles de travail fonctionnalité pour créer une copie de plusieurs feuilles de calcul à partir de plusieurs classeurs fermés dans un nouveau classeur en plusieurs clics uniquement dans Excel.

Kutools pour Excel - Comprend plus de 300 outils pratiques pour Excel. Essai gratuit complet de 30 jours, aucune carte de crédit requise! EN DIRECT

1. Cliquez Kutools Plus > Combiner pour activer la fonction Combiner les feuilles de calcul.

2. Dans l'assistant Combine Worksheets - Étape 1 sur 3, veuillez vérifier le Combinez plusieurs feuilles de calcul de classeurs dans une seule feuille de calcul option, et cliquez sur le Suivant bouton. Voir la capture d'écran:

3. Dans l'assistant Combine Worksheets - Étape 2 sur 3, procédez comme suit:
(1) Cliquez sur Add > Déposez le or Dossier pour ajouter des classeurs à partir desquels vous allez copier des feuilles de calcul.
(2) Dans le Liste des classeurs section, vérifiez le classeur dont vous allez copier les feuilles de calcul;
(3) Dans le Liste des feuilles de travail section, vérifiez les feuilles de calcul que vous allez copier;
(4) Répétez ci-dessus (2) et la (3) pour sélectionner des feuilles de calcul à partir d'autres classeurs que vous allez copier.
(5) Cliquez sur le Suivant .

4. Dans l'assistant Combine Worksheets - Étape 3 sur 3, veuillez configurer les paramètres de copie selon vos besoins, puis cliquez sur le bouton finition .

5. Maintenant, dans la nouvelle boîte de dialogue, spécifiez un dossier de destination pour enregistrer le nouveau classeur, nommez le nouveau classeur dans le Nom du fichier et cliquez sur le Parce que bouton. Voir la capture d'écran:

Maintenant, deux autres boîtes de dialogue apparaîtront et vous demanderont d'ouvrir le nouveau classeur et d'enregistrer le scénario de combinaison, veuillez cliquer sur les boutons selon vos besoins. Jusqu'à présent, il a copié toutes les feuilles de calcul spécifiées à partir de plusieurs classeurs à la fois.

Avec ça Combiner (feuilles de travail) utilitaire, vous pouvez facilement copier et combiner des feuilles de calcul et des classeurs comme indiqué ci-dessous. Faites un essai gratuit!
(1) Combinez rapidement plusieurs feuilles de calcul / plages de classeurs dans une seule feuille de calcul;
(2) fusionner / combiner rapidement toutes les feuilles de calcul du même nom dans les classeurs dans une seule feuille de calcul;
(3) fusionner / combiner rapidement des feuilles de calcul ou des classeurs en un seul classeur;
(4) Résumez / calculez rapidement les données de plusieurs feuilles de calcul dans une seule feuille de calcul.


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Tyler Dempsey · 3 years ago
    I am new to this I am just trying to make copies of the same sheet this is the code I am using.

    Sub Copier()
    Dim s As String
    Dim numtimes As Integer
    Dim numCopies As Integer
    numCopies = InputBox("How many copies do you need?")
    s = InputBox("Enter the name of the Worksheet you want to copy")
    For numtimes = 1 To numCopies
    ActiveWorkbook.Sheets(s).Copy _
    After:=ActiveWorkbook.Sheets(Worksheets.Cou nt)
    Next
    End Sub

    when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _
    After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.
    • To post as a guest, your comment is unpublished.
      Jorge · 1 years ago
      Working Code

      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
      Next
      End Sub

      copy the entire line from ActiveWorkbook.Sheets...... that was the problem, and some spaces

      Have a great day
    • To post as a guest, your comment is unpublished.
      Schuyler · 3 years ago
      [quote name="Tyler Dempsey"]I am new to this I am just trying to make copies of the same sheet this is the code I am using.

      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt)
      Next
      End Sub

      when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.[/quote]


      Here is the exact code you want to use:


      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Count)
      Next
      End Sub
      • To post as a guest, your comment is unpublished.
        Belva · 2 months ago
        Thank you, the last one saved my life :)
    • To post as a guest, your comment is unpublished.
      Schuyler · 3 years ago
      [quote name="Tyler Dempsey"]I am new to this I am just trying to make copies of the same sheet this is the code I am using.

      Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt)
      Next
      End Sub

      when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.[/quote]


      Double check your code and make sure you don't have a space at ActiveWorkbook. Sheets(s).Copy _ or at Sheets(Worksheets.Cou nt)
  • To post as a guest, your comment is unpublished.
    Simon · 4 years ago
    Fantastic VBA code - really helped
  • To post as a guest, your comment is unpublished.
    Barry · 4 years ago
    When I first tried it, I got the error message because I didn't change the name Sheet1. After I realized what caused the error, I researched a little further, as I did not want to be manually entering the sheet name into the macro. And when I need this feature, it is almost always for the current sheet.

    I added the line a = activesheet.name
    And revised the line after:=activeworkbook.sheets("sheet1") to activeworkbook.sheets(a).copy _

    That worked very well, but I did notice the numbering was reversed ... that didn't bother me as I was going to manually rename the new sheets anyway.

    When I saw Schuyler's post, I further revised the line activeworkbook.sheets(a).copy _ to after:=activeworkbook.sheets(worksheets.count)

    I am now satisfied with the result. My finished macro:

    Sub copies()
    Dim x As Integer
    x = InputBox("Enter number of times to copy Sheet1")
    For numtimes = 1 To x
    ActiveWorkbook.Sheets("Sheet1").Copy _
    After:=ActiveWorkbook.Sheets(Worksheets.Count)
    Next
    End Sub

    ---
    All the best, Barry
    • To post as a guest, your comment is unpublished.
      MJ · 2 years ago
      i got syntax error on "After:=ActiveWorkbook.Sheets(Worksheets.Count)


      but i dunno whats wrong... Can u help me please?
    • To post as a guest, your comment is unpublished.
      Kate · 3 years ago
      Thank you so much Barry. Your finished macro is the only thing that worked for me.
  • To post as a guest, your comment is unpublished.
    stalag 17 · 4 years ago
    where i will insert this above code in vba should i create common button then inside ?? regards.
    • To post as a guest, your comment is unpublished.
      Adi · 3 years ago
      Follow the below steps:
      1. Copy the above code
      2. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
      2. Click Insert > Module, and paste the following code in the Module Window.
      4.Then press F5 key to run the code
      5.A prompt box appears to ask you the number of sheet copies you want.
  • To post as a guest, your comment is unpublished.
    Susan · 5 years ago
    I get an error that 'numtimes' is not defined...?
  • To post as a guest, your comment is unpublished.
    Debbi · 5 years ago
    I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9)

    I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines:

    ActiveWorkbook.Sheets(s).Copy _
    Before:=ActiveWorkbook.Sheets(Worksheets.Count)
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      [quote name="Debbi"]I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9)

      I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines:

      ActiveWorkbook.Sheets(s).Copy _
      Before:=ActiveWorkbook.Sheets(Worksheets.Count)[/quote]

      Can you include your complete code to make it easier to debug? A "subscript error out of range" usually means that the code references something that doesn't exist. I find this in my own code when I've got a typo or something of that nature.
  • To post as a guest, your comment is unpublished.
    Roy · 5 years ago
    how to copy with same column widths
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      Same column widths as the original Worksheet or do you want all of the column widths to be the same?
  • To post as a guest, your comment is unpublished.
    sadaqat · 5 years ago
    yes it works thanks I have successfully make multiple copies of a single worksheet in same workbook by using vba code thnx a lot.
  • To post as a guest, your comment is unpublished.
    Gopal Krishan · 5 years ago
    Search for word "After" and change it to "Before". This will create copies in right order "Before" Sheet1. The only thing to rememeber is that numbering will always start from (2) as the original sheet will always be counted as 1st copy. Also you can replace "Sheet1" with name of the tab you are trying to copy.
  • To post as a guest, your comment is unpublished.
    juan · 6 years ago
    [quote name="MichaelTadashi"]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?[/quote]

    Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1)

    Thanks!
    • To post as a guest, your comment is unpublished.
      Schuyler · 5 years ago
      [quote name="juan"][quote name="MichaelTadashi"]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?[/quote]

      Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1)

      Thanks![/quote]

      If you want the sheet copies to be in sequential order instead of backwards, change the following line...

      [i]After:=ActiveWorkbook.Sheets[/i][u]("Sheet1")[/u]

      to this...

      [i]After:=ActiveWorkbook.Sheets[/i][u](Worksheets.Count)[/u]

      My completed code looked like the following which uses 2 InputBox prompts to allow for a dynamic copy count and worksheet name..


      [i]Sub Copier()
      Dim s As String
      Dim numtimes As Integer
      Dim numCopies As Integer
      numCopies = InputBox("How many copies do you need?")
      s = InputBox("Enter the name of the Worksheet you want to copy")
      For numtimes = 1 To numCopies
      ActiveWorkbook.Sheets(s).Copy _
      After:=ActiveWorkbook.Sheets(Worksheets.Count)
      Next
      End Sub[/i]
      • To post as a guest, your comment is unpublished.
        Karsten · 4 years ago
        How do i get the coppies continuous numbered. If the sheet i want to copy is named I002, and i want the next to be named I003,I004,I005 an so on.
  • To post as a guest, your comment is unpublished.
    Lim · 6 years ago
    Wow, thanks for the VBA code. It really helps a lot!
  • To post as a guest, your comment is unpublished.
    Dee · 6 years ago
    thanks, the vba code was huge
  • To post as a guest, your comment is unpublished.
    Theou Aegis · 6 years ago
    I tried the VBA code and got subscript out of range error (9). I replaced the sheet name with anything I could think of that was in the workbook already. Any idea what I did wrong?

    Also, is there a way to make it name each sheet incrementally? This would tie in with Michael's question, I'm sure. I'm guessing the answer to his question would be you'd need to set the After target to "sheet"+x somehow and that in turn would apply to my question if there was a way to specify what to name the new sheet. I could always just change my boss' "master" to "Aug 0" or whatever month it is, but it'd be easier for her to understand if the script did the naming automatically.
  • To post as a guest, your comment is unpublished.
    MichaelTadashi · 7 years ago
    Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?