Aide avec If Then Else..

Résolu
killjulien Messages postés 222 Statut Membre -  
killjulien Messages postés 222 Statut Membre -
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. isrforlife Messages postés 144 Statut Membre 10
     
    Salut,

    On est d'accord que TextBox.text est une string ?
    0
  2. killjulien Messages postés 222 Statut Membre 20
     
    Hmm, c'est à dire ?
    0
  3. mahdu972 Messages postés 247 Statut Membre 18
     
    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.
    0
  4. killjulien Messages postés 222 Statut Membre 20
     
    Je dois ajouter quoi dans mon code alors ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mahdu972 Messages postés 247 Statut Membre 18
     
    Il faut que tu remplaces tes TextBox.text ou il y a traitement de nombre par des TextBox.Value
    0
  7. killjulien Messages postés 222 Statut Membre 20
     
    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'
    0
  8. mahdu972 Messages postés 247 Statut Membre 18
     
    Alors essayé de convertir comme sa :
    Dim myint As Integer
    Try
    myint = CInt(TextBox1.Text)
    Catch ex As Exception
    MsgBox(ex.Message, , )
    End Try

    0
    1. killjulien Messages postés 222 Statut Membre 20
       
      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
      0
  9. killjulien Messages postés 222 Statut Membre 20
     
    Je l'ai pas précisé mais j'utilise Visual Studio 2010
    0