XL 2013 Erreur Code VBA

jeanba

XLDnaute Occasionnel
Bonjour,

Mon code ci-dessous renvoie une erreur de genre
upload_2018-10-6_14-45-46.png


Quelqu'un peut à vue de nez me dire ce qui va pas... ?

Merci par avance
Jeanba


Code:
Public WithEvents txtB As MSForms.TextBox
Private Sub txtB_Change()
Application.ScreenUpdating = False
Dim Total As Double
'Initialise la variable à 0
Total = 0

'Boucle de 1 a 13 pour 13 TextBox
   For i = 100 To 112
        'Si un des TextBox est différent de rien alors
       If Me.Controls("TextBox" & i) <> "" Then
            Me.Controls("TextBox" & i + 13).Value = _
            Format(Me.Controls("TextBox" & i).Value * _
            Me.Controls("TextBox" & i).Tag, "#,##")
            'Ben le total est le total de tous les TextBox
           Total = Total + CDbl(Me.Controls("TextBox" & i + 13))
        'Fin de la condition
            Else
            Me.Controls("TextBox" & i + 13).Value = Null
        End If
    'Fin de la boucle
   Next i
        'Le TextBox "txtTotal" recoit le total
   Me.TboTotal.Value = Format(Total, "#,##")
Application.DisplayAlerts = False
Application.ScreenUpdating = True
End Sub
 

jeanba

XLDnaute Occasionnel
Salut Dranreb,

Toujours fidèle au poste mon vieux!

Regarde les zones qu'il surligne..

upload_2018-10-6_15-2-56.png


Et à tout hazard, j'envoie le code de l'usf_initializ

VB:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then Cancel = 1
End Sub
Private Sub UserForm_Initialize()
Dim n As Long
TextBox1.Value = [proprio_intellect].Value
    For n = 100 To 112
        Set txtB(n).txtB = Controls("TextBox" & n)
    Next n
    For i = 113 To 125
        Me.Controls("TextBox" & i).Enabled = True
    Next
End Sub
 

Dranreb

XLDnaute Barbatruc
De fait la 1ère instruction Public WithEvents txtB as Msforms.TextBox du module incriminé ainsi que la Set txtB(n).txtB = Controls("TextBox" & n) de l'UserForm_Initialize m’incitent fortement à penser que l'objet qui lui est associé serait plutôt un exemplaire d'objet d'un type défini par un module de classe du même nom, et qui ne possède donc pas de collection Controls.
 

jeanba

XLDnaute Occasionnel
Bonjour Dranreb,

Je te remercie.
J'ai réussi à intégrer ton code et ça marche super bien.

Cependant (et c'est pas de ta faute), ce n'est pas seulement ce que je voulais que fasse le programme.
Il s'agissait à la base de faire une sorte de "SOMMEPROD" des valeurs de mes textbox de USF18_1 à 13 (1ere matrice) et USF18_14 à 26 (2e matrice).
Et, en intégrant ton code, il disparaît les calculs et la somme totale...(voir ci-joint). Et j'avoue que je suis vite déstabilisé d'un code sort des sentiers battus..

Mais, je me souviens d'avoir soumis un tel souci au forum il y a de cela quelques temps. Je vais fouiller et certainement trouver quelque chose qui colle..

Merci encore et bon dimanche!
 

Pièces jointes

  • Calculs de Textbox dans Frame.xlsm
    33.3 KB · Affichages: 29

Dranreb

XLDnaute Barbatruc
Bonjour.
Comme ça alors si j'ai bien compris :
VB:
Option Explicit
Private WithEvents ClnTBxNum As CollectionTBxNum
Private Sub UserForm_Initialize()
   Dim N As Long
   Set ClnTBxNum = New CollectionTBxNum
   For N = 1 To 13
      ClnTBxNum.Add Me("USF18_TextBox" & N): Next N
   TboTotal18.Text = "0"
   End Sub
Private Sub ClnTBxNum_Change(ByVal TBx As MSForms.TextBox)
   Dim N As Long, Valeur As Double, Somme As Double
   For N = 1 To 13
      Valeur = ClnTBxNum.Value(N) * Choose(N, 10000, 5000, 2000, 1000, 500, 500, 100, 50, 25, 10, 5, 2, 1)
      Me("USF18_TextBox" & N + 13).Text = Format(Valeur, "### ### ##0")
      Somme = Somme + Valeur: Next N
   TboTotal18.Text = Format(Somme, "### ### ##0")
   End Sub
Mais pourquoi avoir mis des TextBox plutôt que des Label pour des valeurs non modifiables par l'utilisateur ?
 

jeanba

XLDnaute Occasionnel
Trop fort ce Dranreb!
Excellent!
Merci

Mais pourquoi avoir mis des TextBox plutôt que des Label pour des valeurs non modifiables par l'utilisateur ?
Bonne question! Réponse: Erreur de débutant, voilà tout!
Maintenant je le sais..
Thanks

Je joins un fichier de même nature de souci (code de débutant lourd et avec sans doute des erreurs d'amateur.. Voir ci-joint..)

Toujours merci par avance..
 

Pièces jointes

  • Formulaire avec tri.zip
    827.8 KB · Affichages: 31

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 174
Membres
103 152
dernier inscrit
Karibu