Probleme dans une boucle dans une user form

Résolu
Bonjour,

je souhaiter qu'un de mes label fasse la somme en automatique de plusieur textbox.

j'ai tapé ce code

Private Sub TxbMontant1_AfterUpdate()
    TxbMontant1 = Format(Val(TxbMontant1.Value), "# ##0.00€")
    Dim i As Integer
    Dim T As Long
        T = 0
        i = 1
        LblTotal.Caption = 0
    For i = 1 To 15
        T = Val(LblTotal.Caption) + Val(Me.Controls("TxtMontant" & i).Value)
        LblTotal.Caption = Format(T, "# ##0.00€")
    Next i
End Sub


il me renvoie une erreur "objet spécifier introuvable
merci de votre aide

3 réponses

  1. oups je viens de voir faute de frappe dans le "txtmontant"
    désolé
    1. Contributeur
      bonsoir, n'as-tu aucune indication de la ligne de code qui provoque cette erreur?
      quelques suggestions pour assainir ton code:
      Private Sub TxbMontant1_AfterUpdate()
          TxbMontant1 = Format(Val(TxbMontant1.Value), "# ##0.00€")
          Dim i As Integer
          Dim T As Single
              T = 0
          For i = 1 To 15
              T = T + Val(Me.Controls("TxtMontant" & i).Value)
          Next i
           LblTotal.Caption = Format(T, "# ##0.00€")
      End Sub
      1. re Bonjour,
        je rouvre ici, en fait dans mon premier code il y avait juste une faute de frappe.

        Je souhaite faire une boucle qui met la somme de plusieurs TextBox dans un label.
        Au début je voulais faire une routine à rappeler des que renseigne une des texbox mais ça ne marchait pas (voir les lignes en commentaire) du coup j'ai déjà essayé de la faire normalement.

        mon code :
        'Sub CalculTotal(Source As TextBox, Cible As Label)
        Private Sub TxbMontant1_AfterUpDate()
            TxbMontant1 = Format(TxbMontant1.Value, "# ##0.00€")
            Dim i As Integer
                i = 1
                LblTotal.Caption = 0
            For i = 1 To 15
                LblTotal.Caption = Format(Val(LblTotal.Caption) + Val(Controls("TxbMontant" & i).Value), "# ##0.00€")
            Next i
        End Sub
        'Private Sub TxbMontant1_AfterUpDate()
        '    calcultotal TxbMontant1
        'End Sub


        ca à l'air de marcher sauf qu'il ne me calcula pas les chiffre après la virgule
        et qd je modifie ma txbmotant1 il me met toutes les autre déjà remplie à 12....
        j'y comprend rien....
        1. Contributeur
          peux-tu partager ton fichier?