Microsoft 365 Insérer des lignes selon variable

yannlion

XLDnaute Junior
Bonjour le forum,

J'essaie d'insérer un saut de page puis 4 lignes (de la ligne 1 à 4) sur une ligne à chaque fois qu'une valeur change en colonne A :

VB:
    For i = .Range("A65000").End(xlUp).Row - 1 To 6 Step -1
        If .Cells(i, 1) <> .Cells(i - 1, 1) Then .HPageBreaks.Add Before:=Rows(i)
    Next

    Dim ligne As Integer
    For ligne = 5 To .Range("A65000").End(xlUp).Row - 1
        If .Cells(ligne, 1) <> .Cells(ligne + 1, 1) Then
    Rows("1:3").Select
    Selection.Copy
    Rows("ligne:ligne").Select
    Selection.Insert Shift:=xlDown
        End If
    Next

J'ai essayer de partir d'une macro enregistrée mais la variable me bloque ...
Une idée ?

Merci
Yann
 

gbinforme

XLDnaute Impliqué
J'essaie d'insérer un saut de page puis 4 lignes (de la ligne 1 à 4) sur une ligne à chaque fois qu'une valeur change en colonne A :
Bonjour
Pour insérer 4 lignes en tête si changement en colonne A :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.CountLarge = 1 _
    And Not Intersect(Target, Columns(1)) Is Nothing Then
        Application.EnableEvents = False
        Rows("1:4").Insert Shift:=xlDown
        Application.EnableEvents = True
    End If
End Sub
Pour le saut de page il faudrait préciser.
 

Discussions similaires

Réponses
2
Affichages
329

Statistiques des forums

Discussions
315 094
Messages
2 116 144
Membres
112 669
dernier inscrit
Guigui2502