Additionner plusieurs TextBox

Bonjour à tous

Je vous remercie d'avance pour l'aide

Dans mon fichier ci joint je souhaiterai tout simplement additionner le contenu numérique des texBox et avoir le résultat dans la texBox "Total note"

Merci

Bonjour

Un essai à tester. Te convient-il ?

Bye !

Bonjour, Lynda , bonjour GMB

Pour l'addition de textbox plusieurs méthode.

Soit comme Gmb :

TextBox4 = Val(txteleve1) + Val(txteleve2) + Val(TextBox3)

Soit avec la fonction CDbl :

Texbox4.Value = CDbl(txteleve1.Value) + CDbl(txteleve2.Value) + CDbl(TextBox3.Value)

Bonjour à tous

Merci beaucoup solution trouver et les deux marchent

Big thanks

Bonjour,

Attention toutefois à certains effet non voulus, essentiellement dus à une mauvaise saisie de l'utilisateur.

Voir ici : http://faq.vb.free.fr/index.php?question=56

  • La fonction Val() qui impose d'avoir un point (.) comme séparateur décimal et qui stoppe la conversion dès qu'elle rencontre un caractère non numérique. De ce fait, quand on lui demande de convertir la chaîne "15,3", elle renvoie le nombre 15 !
  • Les fonctions Cxxx() (ex. CDbl(), CInt(), CLng(), CSng(), etc.) utilisent quand à elles, le séparateur décimal défini dans le panneau de configuration de Windows, et quand on leur demande de convertir une chaîne avec un autre séparateur, elles génèrent une erreur de type non conforme. Par exemple, si l'utilisateur a choisi la virgule comme séparateur et veut quand même utiliser le point du clavier numérique, ou bien, si les données sont stockées dans un fichier texte et qu'on les relit après avoir changé ledit séparateur.

Du coup, on peut également utiliser la fonction décrite dans le lien ci-dessus :

Function MyVal(Chaine As Variant) As Variant
'   http://faq.vb.free.fr/index.php?question=56
Dim strTmp As String, charTmp As String, SepDecimal As String, SepMillier As String, i As Long

    SepDecimal = Format$(0, ".")
    SepMillier = Mid$(Format$(1000, "0 000"), 2, 1)
    strTmp = ""
    If IsNull(Chaine) Then
        MyVal = Null
        Exit Function
    End If
    For i = 1 To Len(Chaine)
        charTmp = Mid$(Chaine, i, 1)
        If Asc(charTmp) >= 48 And Asc(charTmp) <= 57 Then
            ' C'est un chiffre, on le traite.
            strTmp = strTmp & charTmp
        ElseIf charTmp = "+" Or charTmp = "-" Then
            ' Le signe...
            strTmp = strTmp & charTmp
        ElseIf charTmp = "," Or charTmp = "." Or charTmp = SepDecimal Then
            ' La virgule, le point ou un autre séparateur, même combat !
            strTmp = strTmp & "."
        ElseIf charTmp = " " Or charTmp = Chr$(160) Or charTmp = SepMillier Then
            ' Séparateur de milliers éliminé
        Else
            ' Fin de la boucle au premier
            ' caractère non numérique comme le fait normalement
            ' la fonction Val().
            Exit For
        End If
    Next
    MyVal = Val(strTmp)
End Function

Un peu longuette, mais, pour le coup, l'appel reste identique :

TextBox4.Value = MyVal(txteleve1.Text) + MyVal(txteleve2.Text) + MyVal(TextBox3.Text)
Rechercher des sujets similaires à "additionner textbox"