Problème boucle If Elseif
Bonjour à tous
Je cherche à calculer une prime d'assurance en fonction du type de véhicule, du mode d'assurance et d'un bonus ou malus.
J'ai un problème au niveau du ElseIf, le message d'erreur me dit qu'il me manque un If.
Cela doit être une erreur de débutant, je suis preneur de solution.
Merci et bon weekend
Sub Prime_assurance()
Dim vehicule As String, Mode As String, Bonus As Single, Malus As Single, Prime As Single
vehicule = InputBox("saisir le type de véhicule")
Mode = InputBox("Saisir le mode d'assurance")
Bonus = InputBox("Saisir le Bonus")
Malus = InputBox("Saisir le Malus")
If vehicule = "utilitaire" Then
If Mode = "tout risque" Then Prime = 550
Else: Prime = 420
End If
ElseIf vehicule = "tourisme A" Then
If Mode = "tout risque" Then Prime = 410
Else: Prime = 320
End If
Else:
If Mode = "tout risque" Then Prime = 410
Else: Prime = 320
End If
End If
Prime = Prime * 1 - Bonus * 1 + Malus
MsgBox ("La prime d'assurance annuelle est de " & Prime)
End Sub
bonjour,
si tu mets une instruction à exécuter sur la même ligne que le then on ne peut pas continuer la condition sur une autre ligne ( end if ou else ou elseif )
2 façons d'adapter ton code
Sub Prime_assurance()
Dim vehicule As String, Mode As String, Bonus As Single, Malus As Single, Prime As Single
vehicule = InputBox("saisir le type de véhicule")
Mode = InputBox("Saisir le mode d'assurance")
Bonus = InputBox("Saisir le Bonus")
Malus = InputBox("Saisir le Malus")
If vehicule = "utilitaire" Then
If Mode = "tout risque" Then Prime = 550 Else Prime = 420
ElseIf vehicule = "tourisme A" Then
If Mode = "tout risque" Then Prime = 410 Else Prime = 320
Else
If Mode = "tout risque" Then Prime = 410 Else Prime = 320
End If
Prime = Prime * 1 - Bonus * 1 + Malus
MsgBox ("La prime d'assurance annuelle est de " & Prime)
End Sub
Sub Prime_assuranceou()
Dim vehicule As String, Mode As String, Bonus As Single, Malus As Single, Prime As Single
vehicule = InputBox("saisir le type de véhicule")
Mode = InputBox("Saisir le mode d'assurance")
Bonus = InputBox("Saisir le Bonus")
Malus = InputBox("Saisir le Malus")
If vehicule = "utilitaire" Then
If Mode = "tout risque" Then
Prime = 550
Else
Prime = 420
End If
ElseIf vehicule = "tourisme A" Then
If Mode = "tout risque" Then
Prime = 410
Else
Prime = 320
End If
Else
If Mode = "tout risque" Then
Prime = 410
Else
Prime = 320
End If
End If
Prime = Prime * 1 - Bonus * 1 + Malus
MsgBox ("La prime d'assurance annuelle est de " & Prime)
End SubMerci beaucoup pour la réactivité