Urgent ! : Insertion auto de lignes / Excel
fraxa
Messages postés
18
Statut
Membre
-
Morgothal Messages postés 1350 Statut Membre -
Morgothal Messages postés 1350 Statut Membre -
Bonjour,
Voici mon problème :
J'ai un fichier de 572 lignes. Chaque ligne est une référence produit. Je souhaite insérer 17 lignes après chaque ligne de référence. Cela donnerait ceci : Ref 1 : ligne 1, puis 17 lignes à insérer avant ref2. La ref 2 n'est donc plus en ligne 2, mais en ligne 19... et ainsi de suite.
Comment faire ?
Merci de votre aide, c'est très urgent... ;-)
Voici mon problème :
J'ai un fichier de 572 lignes. Chaque ligne est une référence produit. Je souhaite insérer 17 lignes après chaque ligne de référence. Cela donnerait ceci : Ref 1 : ligne 1, puis 17 lignes à insérer avant ref2. La ref 2 n'est donc plus en ligne 2, mais en ligne 19... et ainsi de suite.
Comment faire ?
Merci de votre aide, c'est très urgent... ;-)
3 réponses
Bonjour,
Avec ce code ça fonctionne :
A+
Avec ce code ça fonctionne :
Sub insertion()
Dim ligne, colonne, i As Integer
For i = 1 To 600
ligne = ActiveCell.Row
colonne = ActiveCell.Column
Rows(ligne + 1 & ":" & ligne + 17).Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(ligne + 18, colonne).Select
Next
End Sub
Il faut sélectionner la cellule sur la première ligne et première colonne di tableau où l'on insert les lignes.
A+
Merci beaucoup, c'est clair net et précis, et en plus ça fonctionne !
J'en profite pour vous demander comment faire pour recopier les lignes 2, 20, 38, 56, 74, (et tous les multiples de 18 jusqu'à la ligne 10262) dans les 17 lignes vierges créées par la macro précédente.
Pour imager ce qu'il me faut, cela donnerait ceci :
ligne 2 copiée jusqu'à ligne 19
ligne 20 copiée jusqu'à ligne 37
ligne 38 copiée jusqu'à ligne 55,
etc jusqu'à la ligne 10262 qui sera donc copiée jusqu'à la ligne 10279.
J'espère avoir été clair...!
Merci de votre aide.
J'en profite pour vous demander comment faire pour recopier les lignes 2, 20, 38, 56, 74, (et tous les multiples de 18 jusqu'à la ligne 10262) dans les 17 lignes vierges créées par la macro précédente.
Pour imager ce qu'il me faut, cela donnerait ceci :
ligne 2 copiée jusqu'à ligne 19
ligne 20 copiée jusqu'à ligne 37
ligne 38 copiée jusqu'à ligne 55,
etc jusqu'à la ligne 10262 qui sera donc copiée jusqu'à la ligne 10279.
J'espère avoir été clair...!
Merci de votre aide.
Ne pas oublier d'incrementer le i à la fin
La macro marche très bien.