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 66 67 68 69 70 71 72 73 74 75 76
| Private Sub Workbook_Open()
Dim ws As Worksheet
Dim Verif_An, Nom_Feuille, Anc_Feuille As String
Dim Premier As Boolean
Dim An_Date, Periode As Integer
Dim Existe As Boolean
Dim rng As Range
Dim cell As Variant
Existe = False
An_Date = Year(Date)
Verif_An = An_Date
Periode = Month(Date)
If Periode = 1 Then
For Each ws In ThisWorkbook.Worksheets
If ws.Name = Verif_An Then 'Vérifie si l'onglet année existe déjà si oui il n'ajoutera aucun onglet
Existe = True
End If
Next ws
For Each ws In ThisWorkbook.Worksheets
If Left(ws.Name, 4) = "Data" And Premier = False And Existe = False Then
Nom_Feuille = CStr(Verif_An)
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Data " & Verif_An 'ajoute l'onglet data année à la fin pour la nouvelle année
'Sheets("Data " & Nom_Feuille).Select
ActiveSheet.Range("A1") = "XFO_FAB"
ActiveSheet.Range("B1") = "REVISION"
ActiveSheet.Range("C1") = "ID_XFO"
ActiveSheet.Range("D1") = "MIN(PEX."
ActiveSheet.Range("E1") = "MOIS"
ActiveSheet.Range("F1") = "COUT"
ActiveSheet.Range("A1:F1").Select
With Selection
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
End With
Anc_Feuille = Verif_An - 1
Sheets(Anc_Feuille).Select
Sheets(Anc_Feuille).Copy After:=Sheets(Anc_Feuille)
Sheets(Anc_Feuille & " (2)").Select
ActiveSheet.Name = Nom_Feuille
Range("a2:n32").Replace What:=Anc_Feuille & "!", Replacement:=Nom_Feuille & "!", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Set rng = Range("A2:N32")
For Each cell In rng.cell
Sheets(Nom_Feuille).Cells.Replace What:=Anc_Feuille & "!", Replacement:=Nom_Feuille & "!", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Next
Premier = True
'Initialisation des en-têtes de colones
End If
Next ws
End If
End Sub |
Partager