Aide avec If Then Else..

Résolu
Bonjour, je suis entrain de créer un petit programme permettant de calculer sa note du BAC avec une mention, mais j'ai un petit problème au niveau de la syntaxe de mon If... Then... Else.
Si je laisse le "Else" il me souligne derrière la parenthèse en disant qu'il y a une erreur de syntaxe, et si je remplace par "Else If" il ne m'affiche rien d'autre que "Assez bien".

Voici le programme :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim total As Integer
        total = TextBox1.Text * 2 + +TextBox2.Text * 2 + +TextBox3.Text * 2 + +TextBox4.Text * 4 + +TextBox5.Text * 4 + +TextBox6.Text * 2 + +TextBox7.Text * 2 + +TextBox8.Text * 2 + +TextBox9.Text * 2 + +TextBox10.Text * 2 + +TextBox11.Text * 12 + +TextBox12.Text * 8
        TextBox13.Text = total
        TextBox14.Text = total / 36
        If (12 < Val(TextBox14.Text) < 14) Then
            TextBox15.Text = "Assez bien"
        ElseIf (14 < Val(TextBox14.Text) < 16) Then
            TextBox15.Text = "Bien"
        Else (16 < Val(TextBox14.Text) < 20) Then
            TextBox15.Text = "Excellent"

        End If
    End Sub


Rq : total = Total des points avec les coefficients.
Rq 2 : total / 36 = Note sur 20.

PS : Je début en VB.NET :-P

Merci pour votre aide !

8 réponses

  1. C'est a dire qu'il est impossible de faire des additions avec des string ( chaine de caractère). Il te faut des nombres donc par exemple un int.
    1. Il faut que tu remplaces tes TextBox.text ou il y a traitement de nombre par des TextBox.Value
      1. J'avais déjà essayé quelque chose comme ça mais il me dit que 'Value' n'est pas un membre de 'System.Windows.Forms.TextBox'
        1. Alors essayé de convertir comme sa :
          Dim myint As Integer
          Try
          myint = CInt(TextBox1.Text)
          Catch ex As Exception
          MsgBox(ex.Message, , )
          End Try

          1. Merci pour votre aide, mais c'était juste les comparaisons qui n'étaient pas bonne, d'ailleurs je ne comprend pas pourquoi :/
            J'ai remplacé par :

            Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
                    Dim total As Integer
                    total = TextBox1.Text * 2 + +TextBox2.Text * 2 + +TextBox3.Text * 2 + +TextBox4.Text * 4 + +TextBox5.Text * 4 + +TextBox6.Text * 2 + +TextBox7.Text * 2 + +TextBox8.Text * 2 + +TextBox9.Text * 2 + +TextBox10.Text * 2 + +TextBox11.Text * 12 + +TextBox12.Text * 8
                    TextBox13.Text = total 'total des points
                    TextBox14.Text = total / 36 'note sur 20
                    If (Val(TextBox14.Text) >= 12 And Val(TextBox14.Text) < 14) Then
                        TextBox15.Text = "Assez bien"
                    ElseIf (Val(TextBox14.Text) >= 14 And Val(TextBox14.Text) < 16) Then
                        TextBox15.Text = "Bien"
                    ElseIf (Val(TextBox14.Text) >= 16) Then
                        TextBox15.Text = "Très bien"
                    End If
                End Sub
        2. Je l'ai pas précisé mais j'utilise Visual Studio 2010