Comment inserer une ligne toutes les 5 lignes

  • Initiateur de la discussion Initiateur de la discussion Elve
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Elve

Guest
Bonjour,
J'ai besoin d'inserer une ligne toutes les X lignes(x étant constant).
Je cherche à le faire automatiquement sous VBA
Merci d'avance.
Elve
 
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
 
Salut Elve et le forum

un ancien lien vers le même type de sujet
<http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=38998&t=38954>

Solution proposée par MOA :

Sub MacroInsertUneLigneSurCinq()
Dim Line As Integer
Range("A2").Select
Line = 0
Recommence:
Line = Line + 5
Rows(Line).Select
Selection.Insert Shift:=xlDown
If Line < ActiveSheet.UsedRange.Rows.Count Then
GoTo Recommence
End If
End Sub

A plus. Syl's
 
j'ai un probleme avec l'insertion de ligne dans excel... il se bloque en disant qu'il est impossible d'insere une ligne en dehors de la page

j'ai essayer par tous le smoyens mais rien n'y fait

svp repondez moi c'est tres tres urgent

Marlene
 
Tiens Bonjour Marlène, le Fil

C'est par hasard que je tombe sur ce fil !

Si c'est si Urgent ptet que c'est déjà solutionné... Sinon post ton code, car il est évident qu'il ne faut pas dépasser 65536 Lignes car sinon les lignes vont sortir de l'écran pour venir s'écrire sur ton clavier !! (lol)

Bon donc tu sais ce qui te reste à faire Marlène

Bon Dimanche
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
169
Réponses
2
Affichages
112
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
157
Réponses
2
Affichages
103
Réponses
18
Affichages
200
Retour