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

image

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 Sub

Merci beaucoup pour la réactivité

Rechercher des sujets similaires à "probleme boucle elseif"