Insérer lignes + copier valeurs

Fermé
NaCo808 Messages postés 2 Date d'inscription jeudi 21 juillet 2016 Statut Membre Dernière intervention 22 juillet 2016 - 21 juil. 2016 à 22:23
NaCo808 Messages postés 2 Date d'inscription jeudi 21 juillet 2016 Statut Membre Dernière intervention 22 juillet 2016 - 22 juil. 2016 à 11:36
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 :)



A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
21 juil. 2016 à 23:27
bonjour,

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


0
NaCo808 Messages postés 2 Date d'inscription jeudi 21 juillet 2016 Statut Membre Dernière intervention 22 juillet 2016
22 juil. 2016 à 11:36
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.
0