Aide avec If Then Else..

Résolu
killjulien Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   -  
killjulien Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   10
 
Salut,

On est d'accord que TextBox.text est une string ?
0
killjulien Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   20
 
Hmm, c'est à dire ?
0
mahdu972 Messages postés 232 Date d'inscription   Statut Membre Dernière intervention   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
killjulien Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   20
 
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 232 Date d'inscription   Statut Membre Dernière intervention   18
 
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   Statut Membre Dernière intervention   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
mahdu972 Messages postés 232 Date d'inscription   Statut Membre Dernière intervention   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
killjulien Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   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
killjulien Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   20
 
Je l'ai pas précisé mais j'utilise Visual Studio 2010
0