Option Explicit
Dim valtest As Date
Dim valid As Integer
Dim garde As Integer
Dim cpteurA As Integer
Dim cpteurB As Integer
Sub Valide() 'recherche si date est une garde
Dim c As Variant
For Each c In [AG3:AN12]
If c Like valtest Then
c.Select
valid = 1
Exit Sub
End If
Next
valid = 0
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub reposB()
Dim a%, b%
For a = 0 To 30
For b = 0 To 20 Step 4
If Range("b4").Offset(a, b).Value = "" Then
Exit For
Else
valtest = Range("b4").Offset(a, b).Value
End If
Valide
garde = 0
If valtest < Range("ac3").Value And valid = 1 Then
Range("d4").Offset(a, b).Interior.ColorIndex = 6
garde = 1
End If
If valtest < Range("ac3").Value And Weekday(valtest) = 6 And garde = 0 Then
Range("d4").Offset(a, b) = "B"
End If
Next
Next
compte
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub compte()
Dim col%, lgn%
cpteurA = 0
cpteurB = 0
For col = 4 To 24 Step 4
For lgn = 4 To 68
If Cells(lgn, col) = "A" Then cpteurA = cpteurA + 1
If Cells(lgn, col) = "B" Then cpteurB = cpteurB + 1
Next
Next
Range("AB25").Value = cpteurB
Range("AB26").Value = cpteurA
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub Assembleur()' a lancer
Dim a%, b%
Application.Calculation = xlManual
If Range("AC13").Value = 1 Then
For a = 0 To 30
For b = 0 To 20 Step 4
Range("D4").Offset(a, b).FormulaR1C1 = _
"=IF(RC[-2]="""","""",IF(WEEKDAY(RC[-2],2)>5,"""",IF(COUNTIF(R4C31:R16C31,RC[-2])=1,"""",IF(AND(RC[-2]>=R4C29,RC[-2]<R3C29),""A"",IF(AND(RC[-2]>=R5C29,RC[-2]<R4C29),""B"","""")))))"
'Range("D38").Offset(a, b).FormulaR1C1 = _
"=IF(RC[-2]="""","""",IF(WEEKDAY(RC[-2],2)>5,"""",IF(COUNTIF(R4C31:R16C31,RC[-2])=1,"""",IF(AND(RC[-2]>=R4C29,RC[-2]<R3C29),""A"",IF(AND(RC[-2]>=R5C29,RC[-2]<R4C29),""B"","""")))))"
Next
Next
End If
If Range("AC13").Value = 2 Then
reposB
End If
If Range("AC13").Value = 3 Then
MsgBox " Caler vos jours de repos "
End If
Application.Calculation = xlAutomatic
End Sub