Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…