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]