Insérer un nombre variable de lignes

Bonjour à toutes et tous,

Nouveau sur ce forum et novice en VBA, je viens chercher de l'aide pour insérer, dans une feuille Excel, un nombre variable de lignes : je récupère un nombre N de lignes non vides dans un premier onglet et je souhaite insérer, dans un second onglet, ce nombre N de lignes à partir de la ligne 9. Je parviens à récupérer le nombre de ligne mais je ne sais pas comment injecter ce nombre dans une insertion. J'ai utilisé l'objet "rows" mais qui, visiblement ne fonctionne pas avec des variables. Auriez-vous une solution à me proposer ?

D'avance merci pour votre aide.

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

Un grand merci Saboh12617, cette méthode fonctionne parfaitement.

Rechercher des sujets similaires à "inserer nombre variable lignes"