Bonjour Eve, le Forum
La difficulté réside dans le fait que le rajout de ligne change la plage en cours de boucle... Par exemple :
Sub TestNonConcluant()
Y = 2
For X = 1 To ActiveSheet.UsedRange.CountRange
Range(" A" & X).EntireRow.Insert
Next X
End Sub
Ne couvrira pas toute la plage... En effet celle ci va changer en cours de boucle...
Par conséquent il faudrait partir du bas... et remonter vers le haut, Sub InsertLigneParLeBas()
Dim NbLigne As Byte
Dim X As Integer
NbLigne = InputBox("Taper un nombre de ligne entre insertion ligne")
For X = ActiveSheet.Range("A65536").End(xlUp).Row + 1 To 2 Step -NbLigne
Range("A" & X).EntireRow.Insert
Next X
End Sub
Mais le résultat peut être génant en haut du tableau....
Donc finalement on repart du Haut mais on calcul combien on va insérer de lignes pour paramétrer la boucle :
Sub InsertLigneCalcul()
Dim i As Byte, X As Integer, Y As Integer, Z As Integer, W As Integer
i = InputBox("Taper un nombre pour l'insertion ligne")
Y = ActiveSheet.Range("A65536").End(xlUp).Row
X = (Y / i) * 2
Z = X + Y
For W = i To Z Step i
Range(" A" & W).EntireRow.Insert
Next W
End Sub
Là je pense que toutes la plage sera couverte par une insertion de ligne, à partir du moment of course où ton tableau ait bien des données en colonne "A".
Bon appétit
@+Thierry