Boucle pour sommer des textbox

Résolu
crocket51 - 25 févr. 2013 à 19:49
 Utilisateur anonyme - 26 févr. 2013 à 20:45
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

Utilisateur anonyme
25 févr. 2013 à 21:30
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
3
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
3
Utilisateur anonyme
25 févr. 2013 à 20:45
Bonsoir,

Tu peux retrouver le contenu de tes contrôles grâce à leur nom :
Me.controls("cel" & i.tostring).text
0
Utilisateur anonyme
25 févr. 2013 à 21:14
ex : Cel001, Cel002 à Cel100

Ton exemple m'avait échappé
Il faut donc formater ta variable i.
Me.controls("Cel" & i.tostring("000")).text
0

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

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
25 févr. 2013 à 21:20
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.
0
Utilisateur anonyme
26 févr. 2013 à 19:35
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.
0
Utilisateur anonyme
26 févr. 2013 à 20:34
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.
0
Peut on la mettre en ressource ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
26 févr. 2013 à 20:42
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.
0
Utilisateur anonyme
26 févr. 2013 à 20:45
Peut on la mettre en ressource ?

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