Imprimer selon valeur

Bonjour à tous,

Je voudrais imprimer avec une mise en page automatique.

Un repère par page (colonne B) et reprendre les lignes 1 et 2.

Je pensais utiliser en VBA une reconnaissance récursive pour insérer des sauts de pages automatiquement

du type :

Sub Macro1()

'Initialisation des variables
Dim i As Long
Dim DernLigne As Long

'Découverte de la derniere ligne de la colonne E
DernLigne = Range("B" & Rows.Count).End(xlUp).Row

For i = 3 To DernLigne

    If Range("E" & i - 1).Value <> Range("E" & i).Value Then

      "Saut de page"      

    End If

Next i

End Sub

Merci de votre aide

Bonjour Matthieu01,

Un essai :

Sub Macro1()

'Initialisation des variables
Dim i As Long
 Dim DernLigne As Long
     DernLigne = Range("E" & Rows.Count).End(xlUp).Row 'Découverte de la derniere ligne de la colonne E

Application.ScreenUpdating = False

ActiveSheet.PageSetup.PrintArea = "$A$1:$G$" & DernLigne  'définit la zone d'impression

For i = 3 To DernLigne

    If Range("B" & i - 1).Value <> Range("B" & i).Value Then
       Rows(i).PageBreak = xlPageBreakManual
    End If
Next i

Application.ScreenUpdating = True

End Sub

Cordialement,

merci

J'ai rajouté la suppression des anciens saut de pages pour être sur de ne pas avoir de problèmes

[code][/Sub Macro1()

'Initialisation des variables

Dim i As Long

Dim DernLigne As Long

DernLigne = Range("B" & Rows.Count).End(xlUp).Row 'Découverte de la derniere ligne de la colonne E

Application.ScreenUpdating = False

ActiveSheet.PageSetup.PrintArea = "$A$1:$G$" & DernLigne 'définit la zone d'impression

'suppression des sauts de pages

For i = 3 To DernLigne

Rows(i).PageBreak = xlPageBreakNone

Next i

' creation des suats de pages

For i = 4 To DernLigne

If Range("B" & i - 1).Value <> Range("B" & i).Value Then

Rows(i).PageBreak = xlPageBreakManual

End If

Next i

Application.ScreenUpdating = True

End Sub

code]

Rechercher des sujets similaires à "imprimer valeur"