Boucle pour sommer des textbox [Résolu]

Signaler
-
 Utilisateur anonyme -
Bonjour,

Je voudrais faire la somme de plusieurs textbox (nommé Cel avec un indice 1 à 100 ex : Cel001, Cel002 à Cel100).

J'ai essayé de faire des boucles types, mais j'ai un bug :
Dim somme As Decimal
Dim cellule As String


            For i = 1 To 100

                cellule = "Cel" & CStr(i)
                somme = somme + cellule.Text


            Next


je bloque...

10 réponses


Bonsoir ucfoutu,

Rien ne t'échappe
On doit donc tester la valeur texte contenue dans le textbox pour s'assurer qu'elle représente bien un décimal.
Dim somme As Decimal
For i As Integer = 1 To 10
    Dim testvaleur As String = Me.Controls("Cel" & i.ToString("000")).Text
    Dim resultat As Decimal
    If Decimal.TryParse(testvaleur, resultat) Then
        somme += resultat
    End If
Next
J'ai trouvé une autre solution en créant les textbox avec une boucle, ce qui me permet après de faire des sommes avec une boucle for ... next

Merci à ceux qui mon fournit des réponses...

ci-dessous mon code.

 Dim Cel(556) As TextBox

' création des textbox nommé CelXXX'
        For i = 1 To 5

            If i 1 Then deporte3 0
            If i > 1 Then deporte3 = (22 * 5 + 9) * (i - 1)

            For j = 1 To 5
                For k = 0 To 5

                    If k = 0 Then
                        deporte1 = 0
                        deporte2 = 0
                    End If

                    If k 1 Then deporte1 15
                    If k 2 Then deporte2 6

                    n = i & j & k
                    Cel(n) = New TextBox
                    TabPage2.Controls.Add(Cel(n))
                    Cel(n).Location = New Point(158 + deporte1 + deporte2 * (k - 1) + 70 * k, 62 + 22 * (j - 1) + deporte3)
                    Cel(n).Size = New Point(70, 22)
                    Cel(n).Font = New System.Drawing.Font("Calibri", 9, FontStyle.Bold)
                    Cel(n).TextAlign = HorizontalAlignment.Right
                    'Cel(n).Text = "Cel" & i & j & k 'affiche les coordonnées des cellules

                Next
            Next
        Next

Bonsoir,

Tu peux retrouver le contenu de tes contrôles grâce à leur nom :
Me.controls("cel" & i.tostring).text

ex : Cel001, Cel002 à Cel100

Ton exemple m'avait échappé
Il faut donc formater ta variable i.
Me.controls("Cel" & i.tostring("000")).text
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
219
Bonsoir,
ceci également nécessite une correction :
somme = somme + cellule.Text
Non ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Oui, c'est une autre solution valable.
Juste une remarque : La police 'Calibri' n'existe pas sur ma machine. Ceci risque de poser problème si tu distribues ton appli. Essaye d'utiliser une police standard.

Bonjour,

Juste une remarque : La police 'Calibri' n'existe pas sur ma machine. Ceci risque de poser problème si tu distribues ton appli. Essaye d'utiliser une police standard.


Je pense que c'est une police qui vient avec Office, ou avec Windows 7. J'ai Windows 7, Office 2010 et une police Calibri; que je n'avais pas avec Windows XP et Office 2002. Mais, effectivement les vieilles polices comme Times New Roman, Tahoma ou Arial sont plus "universelles" dans le monde Windows.
Peut on la mettre en ressource ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
219
Peut on la mettre en ressource


Tu peux distribuer et installer toute police de caractère, mais à condition qu'elle ne soit pas protégée par des droits d'auteur.
A toi de déterminer si cette police est ou non dans ce cas.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Peut on la mettre en ressource ?

Inutile. Fais en sorte que ton setup installe cette police lors du déploiement.