Bonjour,
Je suis débutant en programmation VBA. J'ai écrit une procédure pour effectuer un calcul conditionnel mais lorsque je lance la macro, aucun résultat ne s'affiche (il ne se produit rien) comme je le voudrais. Je ne sais pas où j'ai commis une erreur. J'ai préféré passer par VBA au lieu d'une formule avec SI directement dans Excel car j'ai 18 conditions (ça serait trop volumineux pour une cellule).
Pouvez-vous m'aider s'il vous plaît ?
Merci d'avance
Je suis débutant en programmation VBA. J'ai écrit une procédure pour effectuer un calcul conditionnel mais lorsque je lance la macro, aucun résultat ne s'affiche (il ne se produit rien) comme je le voudrais. Je ne sais pas où j'ai commis une erreur. J'ai préféré passer par VBA au lieu d'une formule avec SI directement dans Excel car j'ai 18 conditions (ça serait trop volumineux pour une cellule).
VB:
Sub Projection_production()
Dim quart As Byte ' numéro de quart
Dim emballe As Byte ' quantité de tables emballées
Dim reparation As Byte ' quantité de tables à décaper
Dim projection As Single ' projection de la production
quart = Worksheets("Feuil2").Range("B3")
emballe = Worksheets("Feuil2").Range("C3")
reparation = Worksheets("Feuil2").Range("D3")
projection = Worksheets("Feuil2").Range("C6")
If quart = 1 Then
projection = (1.1732 * emballe) + 168.535 - reparation
ElseIf quart = 2 Then
projection = (1.35112 * emballe) + 152.738 - reparation
ElseIf quart = 3 Then
projection = (-0.0289901 * (emballe) ^ 2) + (3.38947 * emballe) + 104.08 - reparation
ElseIf quart = 4 Then
projection = (-0.0140713 * (emballe) ^ 2) + (2.81667 * emballe) + 88.9892 - reparation
ElseIf quart = 5 Then
projection = ((0.029762) * emballe ^ (1.85892)) + 135.756 - reparation
ElseIf quart = 6 Then
projection = (0.00405467 * (emballe) ^ 2) + (1.26597 * emballe) + 97.0924 - reparation
ElseIf quart = 7 Then
projection = (-0.0255767 * (emballe) ^ 2) + (5.11439 * emballe) - 45.6093 - reparation
ElseIf quart = 8 Then
projection = (-0.0190742 * (emballe) ^ 2) + (4.50296 * emballe) - 51.8346 - reparation
ElseIf quart = 9 Then
projection = (-0.0112471 * (emballe) ^ 2) + (3.27573 * emballe) - 18.4008 - reparation
ElseIf quart = 10 Then
projection = (-0.012623 * (emballe) ^ 2) + (3.5508 * emballe) - 39.067 - reparation
ElseIf quart = 11 Then
projection = (-0.00520585 * (emballe) ^ 2) + (2.29414 * emballe) - 1.13597 - reparation
ElseIf quart = 12 Then
projection = (-0.0046817 * (emballe) ^ 2) + (2.2468 * emballe) - 14.7206 - reparation
ElseIf quart = 13 Then
projection = (1.13711 * emballe) + 38.7858 - reparation
ElseIf quart = 14 Then
projection = (1.12553 * emballe) + 28.904 - reparation
ElseIf quart = 15 Then
projection = (1.10336 * emballe) + 26.1241 - reparation
ElseIf quart = 16 Then
projection = (1.03689 * emballe) + 23.6494 - reparation
ElseIf quart = 17 Then
projection = (0.984626 * emballe) + 20.7106 - reparation
ElseIf quart = 18 Then
projection = (0.92043 * emballe) + 21.7956 - reparation
Else: projection = 200
End If
End Sub
Pouvez-vous m'aider s'il vous plaît ?
Merci d'avance