Aide avec If Then Else..

Résolu/Fermé
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 - 24 juin 2013 à 12:25
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 - 24 juin 2013 à 14:08
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

isrforlife Messages postés 129 Date d'inscription jeudi 6 juin 2013 Statut Membre Dernière intervention 19 juillet 2013 10
24 juin 2013 à 12:30
Salut,

On est d'accord que TextBox.text est une string ?
0
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
24 juin 2013 à 13:03
Hmm, c'est à dire ?
0
mahdu972 Messages postés 229 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 3 août 2014 18
24 juin 2013 à 13:13
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
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
24 juin 2013 à 13:18
Je dois ajouter quoi dans mon code alors ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mahdu972 Messages postés 229 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 3 août 2014 18
24 juin 2013 à 13:23
Il faut que tu remplaces tes TextBox.text ou il y a traitement de nombre par des TextBox.Value
0
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
24 juin 2013 à 13:31
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
mahdu972 Messages postés 229 Date d'inscription jeudi 14 juin 2012 Statut Membre Dernière intervention 3 août 2014 18
24 juin 2013 à 13:44
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
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
24 juin 2013 à 14:08
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
killjulien Messages postés 199 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 30 septembre 2019 20
24 juin 2013 à 13:44
Je l'ai pas précisé mais j'utilise Visual Studio 2010
0