VBA Exception non gérée String vs Double

Résolu
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. Bonjour,

    Dim euros As Double

     If EurosBox.Text = "" Then
            DollarsBox.Text = ""
        Else
            euros = EurosBox.Text
            DollarsBox.Text = euros * 1.207
        End If
    1. Définir la variable en différé... bien vu! Merci
    2. @arscyNon, 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
      
    3. @Utilisateur anonymeargh
      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