Erreur 13 / Appel d'une sub dans une autre sub

Bonjour,

Alors voila, j'ai créé une subroutine Calcul qui me permet de calculer une moyenne à partir de notes inscrites dans plusieurs textbox. A noter que je peux modifier ces notes à l'aide de spinbutton.

Lorsque j'appel cette sub dans une sub associé aux SpinButton ça fonctionne sans problème.

En revanche lorsque j'essai de changer directement une valeur dans une des textbox j'aimerai que ma fonction calcul se lance pour recalculer ma moyenne mais j'ai une erreur 13.

Sub Calcul() TB2_UE1.Text = Format((TB_Maths1.Text * TB_CoeffMaths1.Text + TB_Physique1.Text * TB_CoeffPhysique1.Text + TB_Méca1.Text * TB_CoeffMéca1.Text + TB_Anglais.Text * TB_CoeffAnglais.Text) / Cells(5, 10).Value, "#0.00") End Sub Private Sub SB_Maths1_SpinUp() TB_Maths1.Text = TB_Maths1.Text + SB_Maths1.SmallChange / diviseur Call Calcul End Sub Private Sub TB_Maths1_Change() Call Calcul End Sub

Merci d'avance pour votre aide.

Bonjour,

On pourrait qualifier ce code de "pas très malin" tant il accumule d'erreurs. Bref, pour les éviter, je propose de mettre :

On Error Resume Next

juste après

Sub Calcul()

Merci, cela fonctionne.. mais j'aimerai avant tout connaître mon erreur et si possible avoir un code "propre".

Pourriez-vous m'aider dans cette démarche ?

Non, je ne suis pas professeur... mais je t'encourage à être rigoureux, progresser, apprendre, encore et encore.

Dans le code, il faut toujours envisager le pire, se poser mille questions, ici : une Textbox pourrait être vide... peut-on faire des calculs avec des Textbox remplies de lettres, est-ce qu'on peut diviser par 0...

Par exemple, il ne faut jamais écrire TB_Maths1.Text * TB_CoeffMaths1.Text mais plutôt CLng(TB_Maths1) * CLng(TB_CoeffMaths1)

Bon Weekend

Rechercher des sujets similaires à "erreur appel sub"