Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3040 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème programmation VBA

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème programmation VBA

n°2204483
sidou24
Posté le 28-09-2013 à 14:32:11  profilanswer
 

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! :)

mood
Publicité
Posté le 28-09-2013 à 14:32:11  profilanswer
 

n°2204493
Marc L
Posté le 28-09-2013 à 16:41:23  profilanswer
 

 
           Bonjour,
 
           tu sais pourquoi rien qu'en lisant le message d'erreur ! …   :sarcastic:  
 

n°2204495
sidou24
Posté le 28-09-2013 à 16:53:29  profilanswer
 

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'.

n°2204496
Marc L
Posté le 28-09-2013 à 17:00:49  profilanswer
 

 
           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 …
 

n°2204499
sidou24
Posté le 28-09-2013 à 17:09:47  profilanswer
 

Essayé mais le message d'erreur reste le même...

n°2204500
Marc L
Posté le 28-09-2013 à 17:13:03  profilanswer
 

 
           Normal si tu n'as pas effacé le code d'origine …
 

n°2204501
sidou24
Posté le 28-09-2013 à 17:19:00  profilanswer
 

J'ai beau l'effacer, rien ne bouge...

n°2204502
Marc L
Posté le 28-09-2013 à 17:22:01  profilanswer
 

 
           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 …
 


---------------
                Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !                             Liste des accus FAD !
n°2204503
sidou24
Posté le 28-09-2013 à 17:27:18  profilanswer
 

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!

n°2204505
Marc L
Posté le 28-09-2013 à 17:50:21  profilanswer
 

 
           Oui mais au moins as-tu vu ta fote d'ortografe ?  :pt1cable:  
           As-tu vérifié les membres de la bibliothèque  Math  ? …
 

mood
Publicité
Posté le 28-09-2013 à 17:50:21  profilanswer
 

n°2204506
Farian
Posté le 28-09-2013 à 17:56:12  profilanswer
 

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 :)


Message édité par Farian le 28-09-2013 à 17:58:26
n°2204565
sidou24
Posté le 29-09-2013 à 15:07:48  profilanswer
 

Marc L, nan j'ai fait une faute??

n°2204566
Marc L
Posté le 29-09-2013 à 15:57:13  profilanswer
 

 
           Dans ma version  Sqrt  n'existe pas, d'où ma question de vérifier son existence dans la bibliotèque  Math  …
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème programmation VBA

 

Sujets relatifs
Help VBA (sujet annales)problème VBA avec Find/Replace
Probleme syntaxe ? [résolu]VBA - couleur texte cellule en fonction du jour
Problème affichage widget Twitter sur site web mobileProbleme avec les .floatContent sur dreamweaver
Probléme IMAGE pour mon siteProbleme constructeurs héritage
problème programmation VBAConseils programmation VBA - Comment résoudre mon problème !
Plus de sujets relatifs à : Problème programmation VBA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR