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 60 61 62 63 64 65
| Private Sub Workbook_BeforePrint(Cancel As Boolean)
'Vient controler que le nom des feuilles n'a pas été changé
'Si il a été changé, il renomme les feuilles corectement
'Remet également les en-tête et pied de page par défaut
Dim i As Integer
Dim nom As String
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error GoTo fin
For Each Sheet In ThisWorkbook.Sheets
If Sheet.Name = "Feuille de Saisie" Then
ns = Sheet.Cells(1, 9).Value
chantier = Sheet.Cells(1, 4).Value
With Sheet.PageSetup
.LeftHeader = " &G"
.CenterHeader = "&14" & "Tableau récapitulatif chantier " & chantier & " à fin semaine " & ns ' "&F"
.RightHeader = "Date dernière modification : &D"
.LeftFooter = "&F"
.CenterFooter = ""
.RightFooter = ""
End With
Else
With Sheet.PageSetup
.LeftHeader = " &G"
.CenterHeader = "&14" & "BILAN TACHE: " & nom
.RightHeader = "Date dernière modification : &D"
.LeftFooter = "&F"
.CenterFooter = ""
.RightFooter = "Fiche de suivi version finale Imhoff Energies et Santé"
End With
End If
If Sheet.Name = "Feuille de Saisie" Or Sheet.Name = "Feuil1" Then GoTo suite
nom = Sheet.Cells(3, 1).Value
trouve = ""
i = 5
Do Until trouve = nom
trouve = "(" & Sheets("Feuille de Saisie").Cells(i, 1).Value & ") " & Sheets("Feuille de Saisie").Cells(i, 2).Value
i = i + 1
If i = 1000 And trouve <> nom Then
Sheet.Name = Left(Sheet.Cells(3, 1).Value, 18) & " " & Sheet.Cells(3, 17).Value
GoTo suite
End If
Loop
i = i - 1
If Sheet.Name <> "(" & Me.Sheets("Feuille de Saisie").Cells(i, 1).Value & ") " & Left(Me.Sheets("Feuille de Saisie").Cells(i, 2).Value, 15) & " " & Me.Sheets("Feuille de Saisie").Cells(i, 6).Value Then
Sheet.Name = "(" & Me.Sheets("Feuille de Saisie").Cells(i, 1).Value & ") " & Left(Me.Sheets("Feuille de Saisie").Cells(i, 2).Value, 15) & " " & Me.Sheets("Feuille de Saisie").Cells(i, 6).Value
End If
suite:
Next Sheet
fin:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub |
Partager