1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| Dim DerLig As Long
Dim LigDeb As Long
Dim Date1, d1 As Object
Dim Plage As Range
Dim Annee As Long
Sub fixer_Sauts_de_Pages()
Application.ScreenUpdating = False
Annee = Year(Range("B2").Value)
Date1 = DateSerial(Annee, "04", "30") 'Recherche du 30/04
Marquage_Saut_de_Page
LigDeb = 1
Set Plage = Range(Cells(LigDeb, "B"), Cells(DerLig, "CO"))
Definir_Zone_Impression
'inscrivez ici votre ligne d'impression
Date1 = DateSerial(Annee, "06", "30") 'Recherche du 30/06
LigDeb = DerLig + 1
Marquage_Saut_de_Page
Set Plage = Range(Cells(LigDeb, "B"), Cells(DerLig, "CO"))
Definir_Zone_Impression
'inscrivez ici votre ligne d'impression
Date1 = DateSerial(Annee, "10", "31") 'Recherche du 31/10
LigDeb = DerLig + 1
Marquage_Saut_de_Page
Set Plage = Range(Cells(LigDeb, "B"), Cells(DerLig, "CO"))
Definir_Zone_Impression
'inscrivez ici votre ligne d'impression
Marquage_Saut_de_Page
If Annee Mod 4 = 0 Then
Date1 = DateSerial(Annee + 1, "02", "28") 'Recherche du 28/02
Else
Date1 = DateSerial(Annee + 1, "02", "29") 'Recherche du 29/02
End If
LigDeb = DerLig + 1
Marquage_Saut_de_Page
Set Plage = Range(Cells(LigDeb, "B"), Cells(DerLig, "CO"))
Definir_Zone_Impression
'inscrivez ici votre ligne d'impression
End Sub
Sub Marquage_Saut_de_Page()
Set d1 = Columns("F").Find(Date1, LookIn:=xlFormulas, lookat:=xlWhole)
Range(Cells(d1.Row + 1, "A"), Cells(d1.Row + 1, "CO")).Select
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=ActiveCell
DerLig = Selection.Row - 1
End Sub
Sub Definir_Zone_Impression()
On Error Resume Next
ActiveWorkbook.Names("zone_d_impression").Delete
Plage.Select
ActiveWorkbook.Names.Add Name:="zone_d_impression", RefersToR1C1:="=Feuil1!R" & LigDeb & "C2:R" & DerLig & "C2"
End Sub |