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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| Public Function TraitementDates(DateSyn, NomNewSheet)
DateSynF = Format("01/" & DateSyn, "MM/YYYY")
DerLi = Worksheets(NomNewSheet).Range("A" & Rows.Count).End(xlUp).Row
DerLiTable = Worksheets("Table").Range("E" & Rows.Count).End(xlUp).Row
Worksheets("BDD").Activate
PremDomBDD = PremDom()
DernColBDD = Range("XFD9").End(xlToLeft).Column
Worksheets(NomNewSheet).Activate
y = 0
' Parcours de chaque agent
While y <= DerLi - 6
If CDate(Worksheets("BDD").Range("D10").Offset(y, 0).Value) < CDate(DateSyn) And Worksheets("BDD").Range("D10").Offset(y, 0).Value <> "" Then
GoTo 4
End If
x = 0
' Remplissage des X
While x <= 11
If Worksheets("BDD").Range("E10").Offset(y, x).Value <> "" Then
DateTest = Format(Worksheets("BDD").Range("E10").Offset(y, x).Value, "MM/YYYY")
If CDate(DateTest) > CDate(DateSynF) Then
Worksheets(NomNewSheet).Range("B7").Offset(y, x).Value = "P"
' Mise en forme de la cellule
With Worksheets(NomNewSheet).Range("B7").Offset(y, x)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Else
Worksheets(NomNewSheet).Range("B7").Offset(y, x).Value = "X"
With Worksheets(NomNewSheet).Range("B7").Offset(y, x)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
End If
End If
x = x + 1
Wend
Z = PremDomSyn()
Dercolonne = Range("XFD5").End(xlToLeft).Column
' Remplissage des stages
' Parcours de chaque colonne stage de la synthèse
While Z <= Dercolonne
LiDebTab = 4
' Parcours de chaques lignes de stage de la table
While LiDebTab <= DerLiTable
' Test code stage de la ligne dans la table = code stage de la colonne en question de la synthèse
If Worksheets("Table").Range("E" & LiDebTab).Value = Cells(6, Z).Value Then
ColBDD = PremDomBDD
' Parcours de chaque colonne de la BDD pour voir si l'agent à les CTs requisent pour annimer le stage et son niveau
While ColBDD <= DernColBDD
' Test code CTs dans la table = code CTs dans la BDD
If Worksheets("Table").Range("F" & LiDebTab).Value = Worksheets("BDD").Cells(8, ColBDD).Value Then
' Test et écrit, dans la cellule de la synthèse, le niveau à l'aide des if suivants et est mis à jour si le niveau est inférieur
If Worksheets("BDD").Cells(10, ColBDD).Offset(y, 2).Value <> "" And CDate(Worksheets("BDD").Cells(10, ColBDD).Offset(y, 2).Value) < CDate(DateSynF) And (Cells(7 + y, Z) = "" Or Cells(7 + y, Z).Value = "XX") Then
Cells(7 + y, Z).Value = "XX"
With Cells(7 + y, Z)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ElseIf Worksheets("BDD").Cells(10, ColBDD).Offset(y, 1).Value <> "" And CDate(Worksheets("BDD").Cells(10, ColBDD).Offset(y, 1).Value) < CDate(DateSynF) And (Cells(7 + y, Z) = "" Or Cells(7 + y, Z).Value = "XX" Or Cells(7 + y, Z).Value = "X") Then
Cells(7 + y, Z).Value = "X"
With Cells(7 + y, Z)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ElseIf Worksheets("BDD").Cells(10, ColBDD).Offset(y, 0).Value <> "" And CDate(Worksheets("BDD").Cells(10, ColBDD).Offset(y, 0).Value) < CDate(DateSynF) And (Cells(7 + y, Z) = "" Or Cells(7 + y, Z).Value = "XX" Or Cells(7 + y, Z).Value = "X" Or Cells(7 + y, Z).Value = "P") Then
Cells(7 + y, Z).Value = "P"
With Cells(7 + y, Z)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ElseIf Worksheets("BDD").Cells(10, ColBDD).Offset(y, 2).Value = "" And Worksheets("BDD").Cells(10, ColBDD).Offset(y, 1).Value = "" And Worksheets("BDD").Cells(10, ColBDD).Offset(y, 0).Value = "" Then
Cells(7 + y, Z).Value = ""
GoTo 5
End If
End If
ColBDD = ColBDD + 3
Wend
End If
LiDebTab = LiDebTab + 1
Wend
5 Z = Z + 1
Wend
4 y = y + 1
Wend
End Function |
Partager