Probleme dans une boucle dans une user form

Résolu
Sahmy021 Messages postés 17 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Sahmy021 Messages postés 17 Statut Membre
     
    oups je viens de voir faute de frappe dans le "txtmontant"
    désolé
    0
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
    0
  3. Sahmy021 Messages postés 17 Statut Membre
     
    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....
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      peux-tu partager ton fichier?
      0