Bonjour,
Je pense que la méthode la plus adaptée à votre problème est d'utiliser la fonction Range avec les indices de lignes comme suit :
Range(indiceInitial & ":" & (indiceInitial-1) + nombreDeLignes).Insert
Par exemple :
Sub InsererLignes()
Dim indiceInitial As Long
indiceInitial = 4 ' je veux insérer à partir de la ligne 4
Dim nombreDeLignes As Long
nombreDeLignes = 5 ' je veux insérer 5 lignes
Range(indiceInitial & ":" & (indiceInitial - 1) + nombreDeLignes).Insert
' les cellules de la ligne 4 sont maintenant en ligne 4+5=9
End Sub
On utilise -1 car sinon vu que la fonction Insert insère, de base 1 ligne, on se retrouve décalé de 1 ligne de trop. A vous d'ajuster suivant vos besoins mais vous avez l'idée.
Range.Insert, méthode (Excel) | Microsoft Learn