VBA Exception non gérée String vs Double

Résolu
arscy -  
 arscy -
Bonjour la communauté-des-héros-de-l'ombre,

Je débarque sur Visual Basic aka VB (inutile de préciser que c'est dans un cadre universitaire ;-) )
Je fais actuellement face à une problématique de l'ordre d'Exception non gérée

→ J'ai créé un convertisseur monétaire qui convertit de façon bidirectionnelle
(monnaie a vers monnaie b et vice versa)
L'algorithme est fonctionnel SAUF que...
lorsque j'efface le contenu d'une de mes deux TextBox j'ai instantanément un message d'erreur : Forcément, mes variables assignées aux deux TextBox étant typées en Double, lorsque la cellule est vide c'est le conflit String versus Double.

Ci-dessous mon code pour une des deux TextBox (pour l'autre c'est l'exact inverse)

Dim euros As Double
        euros = EurosBox.Text
        If EurosBox.Text = "" Then
            DollarsBox.Text = ""
        Else
            DollarsBox.Text = euros * 1.207
        End If


Etant donné que j'ai réglé dans le code la problématique de la case vide, je présume que je dois lever l'exception quelque part ailleurs pour que le tout fonctionne sans encombre.
Pourriez-vous m'éclairer sur la méthodologie de la manipulation en question?
Merci d'avance!

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Dim euros As Double

     If EurosBox.Text = "" Then
            DollarsBox.Text = ""
        Else
            euros = EurosBox.Text
            DollarsBox.Text = euros * 1.207
        End If
    1
    1. arscy
       
      Définir la variable en différé... bien vu! Merci
      0
      1. Utilisateur anonyme > arscy
         
        Non, pas la définir, l'affecter

        ton code
        Dim euros As Double 'là tu définis
                euros = EurosBox.Text 'là tu affectes, si ton textBox est vide ça plante
                If EurosBox.Text = "" Then
                    DollarsBox.Text = ""
                Else
                    DollarsBox.Text = euros * 1.207
                End If
        


        le code de f894009
        Dim euros As Double 'là il défini
                If EurosBox.Text = "" Then
                    DollarsBox.Text = ""
                Else
                    euros = EurosBox.Text 'là il affecte, si ton textBox est vide ça ne vient pas ici, ça ne plante pas
                    DollarsBox.Text = euros * 1.207
                End If
        
        0
      2. arscy > Utilisateur anonyme
         
        argh
        Je ne suis pas au point sur le jargon... :-( mais c'est bien ce que j'avais compris ^^
        → correctif: "affecter/assigner la variable en différé, bien vu!"
        Encore merci
        0