Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment copier et insérer des lignes plusieurs fois ou dupliquer la ligne x fois dans Excel?

Dans votre travail quotidien, avez-vous déjà essayé de copier une ligne ou chaque ligne, puis de l'insérer plusieurs fois sous la ligne de données actuelle dans une feuille de calcul? Par exemple, j'ai une gamme de cellules, maintenant, je veux copier chaque ligne et les coller 3 fois à la prochaine rangée comme suivant capture d'écran montré. Comment pourriez-vous gérer ce travail dans Excel?

doc copier insérer x fois 1

Copiez et insérez une ligne spécifique plusieurs fois avec le code VBA

Copiez et insérez chaque ligne plusieurs fois avec le code VBA

Copiez et insérez une ligne spécifique pour chaque autre ou nième ligne avec Kutools pour Excel


flèche bleue droite bulle Copiez et insérez une ligne spécifique pour chaque autre ou nième ligne avec Kutools pour Excel

Copier et insérer une ligne spécifique pour chaque autre ou nième rangée

Avec Kutools for Excel's Insérer des lignes de titres fonctionnalité, vous pouvez rapidement copier et insérer une ligne spécifique pour chaque autre ou nième ligne à la fois.

doc copier insérer x fois 5

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


flèche bleue droite bulle Copiez et insérez une ligne spécifique plusieurs fois avec le code VBA

Si vous voulez dupliquer une seule ligne x fois, le code VBA suivant peut vous aider, faites comme ceci:

1. Spécifiez une ligne que vous souhaitez copier et insérer plusieurs fois, puis maintenez la touche ALT + F11 clés, puis il ouvre la Microsoft Visual Basic pour applications fenêtre.

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

Code VBA: dupliquez une ligne spécifique plusieurs fois:

Sub test()
'Updateby Extendoffice 20160616
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error, please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    ActiveCell.EntireRow.Copy
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(xCount, 0)).EntireRow.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub

3. Après avoir collé le code, appuyez sur F5 clé pour exécuter ce code, et une boîte d'invite est sorti pour vous rappeler d'entrer le nombre de fois que vous souhaitez dupliquer, voir capture d'écran:

doc copier insérer x fois 2

4. Puis clique OK et quatre nouvelles lignes copiées ont été insérées sous la ligne sélectionnée, voir capture d'écran:

doc copier insérer x fois 3


flèche bleue droite bulle Copiez et insérez chaque ligne plusieurs fois avec le code VBA

Pour dupliquer plusieurs lignes dans une plage, vous pouvez appliquer le code VBA suivant, procédez comme suit:

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

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

Code VBA: dupliquez chaque ligne plusieurs fois:

Sub insertrows()
'Updateby Extendoffice 2016616
    Dim I As Long
    Dim xCount As Integer
LableNumber:
    xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
    If xCount < 1 Then
        MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
        GoTo LableNumber
    End If
    For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 1 Step -1
        Rows(I).Copy
        Rows(I).Resize(xCount).Insert
    Next
    Application.CutCopyMode = False
End Sub

3. Et puis appuyez sur F5 clé pour exécuter ce code, et une boîte d'invite est sorti pour vous rappeler d'entrer le nombre de fois que vous souhaitez dupliquer pour chaque enregistrement, voir capture d'écran:

doc copier insérer x fois 4

4. Puis clique OK, et chaque ligne a été copiée et insérée 3 fois ci-dessous les actifs, voir capture d'écran:

doc copier insérer x fois 1

Note: Dans le code ci-dessus, le A indique que la plage de données est démarrée dans la colonne A, si vos données commencent à la colonne K, s'il vous plaît changer A à K comme votre besoin.



Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Jamar · 9 days ago
    How can I do this for columns?
  • To post as a guest, your comment is unpublished.
    Jamar · 9 days ago
    how do I do this for columns?
  • To post as a guest, your comment is unpublished.
    Andreea · 3 months ago
    Love it! It works every time! Thank you so much for this :)
  • To post as a guest, your comment is unpublished.
    Sashitharan Govindasamy · 6 months ago
    Hello, I need help, this is how my table looks, for example, when I add 2 row at the end of my 1st table, I want the vba help me to do the same thing for the table below (add 2 rows at the end of the table). So my job will be, only need to add rows at the 1st table, the table bellows all will generate rows automatically based on numbers of row in the 1st table. the are the coding I used now to add row for the 1st table. I hope someone can solve this issue for me, thx.Sub InsertNumRows()

    ActiveCell.EntireRow.Copy

    Dim Rng As Long

    Application.DisplayAlerts = False
    On Error Resume Next
    Rng = InputBox("Enter number of rows required.")
    On Error GoTo 0
    Application.DisplayAlerts = True

    If Rng = 0 Then
    MsgBox "You didn't specify a range!"
    Exit Sub

    Else
    Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(Rng, 0)).Select
    Selection.EntireRow.Insert Shift:=xlDown
    End If

    End Sub
  • To post as a guest, your comment is unpublished.
    devin · 6 months ago
    Love the code! how do i set the start range to skip the first row (Column Headers) and start on row 2?
    • To post as a guest, your comment is unpublished.
      skyyang · 6 months ago
      Hi, Devin,
      To skip the first header row, please apply the following VBA code:

      Sub insertrows()
      Dim I As Long
      Dim xCount As Integer
      LableNumber:
      xCount = Application.InputBox("Number of Rows", "Kutools for Excel", , , , , , 1)
      If xCount < 1 Then
      MsgBox "the entered number of rows is error ,please enter again", vbInformation, "Kutools for Excel"
      GoTo LableNumber
      End If
      For I = Range("A" & Rows.CountLarge).End(xlUp).Row To 2 Step -1
      Rows(I).Copy
      Rows(I).Resize(xCount).Insert
      Next
      Application.CutCopyMode = False
      End Sub

      Please try it, hope it can help you!