XL 2010 Aide modif code VBA Insertion lignes

safranien

XLDnaute Occasionnel
Bonjour à tous,

je souhaite insérer 10 lignes vierges toutes les 4 lignes, à partir de A2 (la ligne 1 contenant mes titres de colonnes). J'avais trouvé à une époque un code qui insérait une ligne toutes les 5 lignes à partir de A1 ( qui correspondait à ce que je voulais faire à cette époque) mais je n'arrive pas à le modifier pour obtenir le résultat attendu et je n'arrive pas non plus à trouver une réponse dans le forum.
Pourriez vous m'aider svp?

Merci

Sub InsereLign()

Dim Plage As Range

Dim L As Long

Application.ScreenUpdating = False

Set Plage = Rows(6)

For L = 11 To 2250 Step 5

Set Plage = Application.Union(Plage, Rows(L))

Next L

Plage.Insert Shift:=xlDown

Application.ScreenUpdating = True

MsgBox "Insertion terminée !"

End Sub
 

natorp

XLDnaute Accro
Bjr safranien

comme ça :
Code:
Sub InsereLign()

Dim Plage As Range

Dim L As Long

Application.ScreenUpdating = False

Set Plage = Rows(6)

For L = 10 To 2250 Step 4

Set Plage = Application.Union(Plage, Rows(L))

Next L

Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown

Application.ScreenUpdating = True

MsgBox "Insertion terminée !"

End Sub

Cordialement, Gérard
 

safranien

XLDnaute Occasionnel
Bonjour Gérard

merci beaucoup !!! Du coup, si je veux insérer 20 lignes toutes les 5 lignes toujours à partir d'A2, comment dois-je écrire le code?
Comme ça? Désolé je n'y comprends rien au VBA.

Sub InsereLign()

Dim Plage As Range

Dim L As Long

Application.ScreenUpdating = False

Set Plage = Rows(7)

For L = 20 To 2250 Step 5

Set Plage = Application.Union(Plage, Rows(L))

Next L

Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown
Plage.Insert Shift:=xlDown


Application.ScreenUpdating = True

MsgBox "Insertion terminée !"

End Sub

A priori non ce n'est pas ça, je n'obtiens pas le résultat attendu.
Pour le code d'origine, il fonctionne très bien pour l'insertion de 10 lignes toutes les 4 lignes par contre est-ce normal qu'il soit super long à s'exécuter? J'ai fait l'essai avec seulement 16 lignes de données mais en voulant insérer 70 lignes (en écrivant 70 fois Plage.Insert Shift:=xlDown dans le code) toutes les 4 lignes et ça met 5 bonnes minutes avant que ce ne soit fini.
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
98
Réponses
12
Affichages
537