Insérer lignes + copier valeurs

Bonjour !

Dans Excel, je souhaiterais créer une macro pour passer de ça (exemple, mon fichier de données est beaucoup plus grand) :

colonne 1 colonne 2
1 2
2 1
3 5
4 6

à ça :
c1 c2
1 2
1 2
1 2
1 2
1 2
2 1
2 1
2 1
2 1
2 1
3 5
3 5
3 5
3 5
3 5
4 6
4 6
4 6
4 6
4 6

Donc une macro pour insérer 4 nouvelles lignes entre chaque ligne et pour copier chaque ligne dans les 4 lignes suivantes.

Merci beaucoup pour le temps que vous consacrerez à m'aider :)

1 réponse

  • Votes
  • Date
  • Date décroissante
  1. bonjour,

    Pourquoi VBA alors qu'une simple formule suffit (en c1) :
    =DECALER(A$1;ENT((LIGNE(A1)-1)/5);0)


    1. Merci Patrice33740 pour la réponse :)

      Quelqu'un a trouvé le code sur VBA :

      Sub test()
      Dim nbLigne As Integer
      Dim FL1 As Worksheet, Cell As Range, NoCol As Integer, compteur As Integer, LigneCourante As Integer

      Dim NoLig As Integer, DerLig As Integer, Var As Variant
      nbLigne = 4
      Dim tableau1(5) As String, tableau2(5) As String

      Set FL1 = Worksheets("Feuil1")
      NoCol = 1
      For NoLig = 1 To nbLigne
      tableau1(NoLig) = Cells(NoLig, "A").Value
      tableau2(NoLig) = Cells(NoLig, "B").Value
      Next
      compteur = 1
      For NoLig = 1 To nbLigne
      For compteur = 1 To 5
      LigneCourante = (NoLig - 1) * (5) + compteur
      Cells(LigneCourante, "A").Value = tableau1(NoLig)
      Cells(LigneCourante, "B").Value = tableau2(NoLig)
      Next
      Next
      End Sub

      A côté de nbLigne tu mets le nombre de lignes que tu as au départ, dans les parenthèses de tableau1() et tableau2() tu mets aussi le nombre de lignes que tu as au départ, dans Set FL1 = Worksheets("Feuil1") tu remplaces "Feuil1" par le nom de ta feuille.

      Je l'ai testé, ça marche super, ràs.