Problème programmation VBA - VB/VBA/VBS - Programmation
Marsh Posté le 28-09-2013 à 16:41:23
Bonjour,
tu sais pourquoi rien qu'en lisant le message d'erreur ! …
Marsh Posté le 28-09-2013 à 16:53:29
Normalement oui, mais là, il me met ce message la...
L'exception InvalidCastException n'a pas été gérée
Impossible d'effectuer un cast d'un objet de type 'System.Double' en type 'System.Windows.Forms.TextBox'.
Marsh Posté le 28-09-2013 à 17:00:49
Effectivement, nous n'avons pas le même message.
Recopier la ligne posant problème dans un quelconque évènement clic du module de l'Userform en question
puis relancer la compilation afin de vérifier s'il y a toujours un message d'erreur et devant être bien plus explicite …
Marsh Posté le 28-09-2013 à 17:22:01
Pour moi il y a une erreur de frappe, quand tu tapes Math. tu vois la liste des membres de cette bibliothèque …
Mais le message d'erreur ne correspondant pas, je ne vois pas !
Du reste normalement je n'ai pas besoin de préciser Math. dans mes versions d'Excel …
Marsh Posté le 28-09-2013 à 17:27:18
J'ai essayé d'enlever le Math, et même d'enlever la racine mais le message d'erreur reste le même... Plutôt pénible!
Marsh Posté le 28-09-2013 à 17:50:21
Oui mais au moins as-tu vu ta fote d'ortografe ?
As-tu vérifié les membres de la bibliothèque Math ? …
Marsh Posté le 28-09-2013 à 17:56:12
Bonjour !
Euh ... Ce n'est pas plutôt qu'il faudrait remplacer la ligne par
TextBox4.Text = ToString((-b + Math.Sqrt(d)) / (2 * a)) ?
En remplaçant bien sûr "ToString" par la fonction correspondante en VBA (que je ne connais pas du tout, mais l'erreur telle que reportée semble orienter vers cette voie)
Bonne continuation !
Edit : ajout de la parenthèse manquante
Marsh Posté le 29-09-2013 à 15:57:13
Dans ma version Sqrt n'existe pas, d'où ma question de vérifier son existence dans la bibliotèque Math …
Marsh Posté le 28-09-2013 à 14:32:11
Bonjour à tous,
Je suis tout débutant en programmation, et j'ai voulu créer un programme qui puisse résoudre une équation du second degré, avec la formule de viète. Mais je ne sais pas trop pourquoi, il m'indique une erreur à la ligne: TextBox4 = (-b + Math.Sqrt(d)) / (2 * a)
Et je ne comprend pas bien mon erreur! Voici le code...
Public Class Form1
Dim a = Val(TextBox1), b = Val(TextBox2), c = Val(TextBox3), d As New Double
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
d = (b ^ 2) - (4 * a * c)
If d >= 0 Then
TextBox4 = (-b + Math.Sqrt(d)) / (2 * a)
TextBox5 = (-b - Math.Sqrt(d)) / (2 * a)
Else
TextBox4.Text = "Error"
End If
End Sub
Merci à tous!