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
| Sub test()
Dim colonne1 As Range
Dim colonne2 As Range
Dim colonne3 As Range
Dim colonne4 As Range
Set colonne1 = Union(Cells(2, 2), Cells(3, 2), Cells(4, 2), Cells(5, 2), Cells(6, 2), Cells(7, 2), Cells(8, 2))
A1 = WorksheetFunction.Max(colonne1) 'Prix maximum 1
F1 = WorksheetFunction.Match(A1, colonne1, 0) 'Numero de ligne de la cellule contenant le max1 moins 1
S1 = Cells(F1 + 1, 1).Value 'Nombre d'heures disponibles pour le prix max1
If S1 < 5.5 Then
Set colonne2 =??
A2 = WorksheetFunction.Max(colonne2) 'Prix maximum 2
F2 = WorksheetFunction.Match(A2, colonne2, 0) 'Numero de ligne de la cellule contenant le max2 moins 1
S2 = Cells(F2 + 1, 1).Value 'Nombre d'heure disponibles pour le prix max 2
If S1 + S2 < 5.5 Then
Set colonne3 = ??
A3 = WorksheetFunction.Max(colonne3) 'Prix maximum 3
F3 = WorksheetFunction.Match(A3, colonne3, 0) 'Numero de ligne de la cellule contenant le max3 moins 1
S3 = Cells(F3 + 1, 1).Value 'Nombre d'heures disponibles pour le prix max 3
If S1 + S2 + S3 < 5.5 Then
Set colonne4 = ??
A4 = WorksheetFunction.Max(colonne) 'Prix maximum 4
Cells(9, 5).Value = S1 * A1 + S2 * A2 + S3 * A3 + (5.5 - (S1 + S2 + S3)) * A4 'Pmax
Else: S33 = 5.5 - (S1 + S2)
Cells(9, 5).Value = S1 * A1 + S2 * A2 + S33 * A3 'Pmax
Else: S22 = 5.5 - S1
Cells(9, 5).Value = S1 * A1 + S22 * A2 'Pmax
Else: Cells(9, 5).Value = 5.5 * A1 'Pmax
End Sub |
Partager