Visual basic, select case

Fermé
alexmilano Messages postés 422 Date d'inscription vendredi 14 septembre 2007 Statut Membre Dernière intervention 30 novembre 2017 - 12 oct. 2008 à 21:17
 toto - 12 oct. 2008 à 22:27
Bonjour,

voici mon bout de code, qui sert pour mon problème :


'Nom des monnaies
T(0, 0) = "francs"
T(1, 0) = "Yuan"
T(2, 0) = "Deutschmark"
T(3, 0) = "Livre Sterling"
T(4, 0) = "Rouble"
T(5, 0) = "Dollar"
'taux de conversion de monnaies
T(0, 1) = "6,55957"
T(1, 1) = "9,6718"
T(2, 1) = "1,897"
T(3, 1) = "0,803"
T(4, 1) = "36,1315"
T(5, 1) = "1,4144"
'drapeaux
T(0, 2) = folder & "France.gif"
T(1, 2) = folder & "Chine.gif"
T(2, 2) = folder & "Allemagne.JPG"
T(3, 2) = folder & "GB.gif"
T(4, 2) = folder & "Russie.JPG"
T(5, 2) = folder & "USA.JPG"



'liste déroulante
Private Sub listhaut_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Load
listhaut.Items.Add("Francs")
listhaut.Items.Add("Yen")
listhaut.Items.Add("Deutschmark")
listhaut.Items.Add("Livre Sterling")
listhaut.Items.Add("Rouble")
listhaut.Items.Add("Dollar")

End Sub

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles listhaut.SelectedValueChanged

Dim t1 as integer

Select T(t1, 0)
Case t1 = "0"
PictureBox1.Image = Image.FromFile(T(0, 2))
Case t1 = "1"
PictureBox1.Image = Image.FromFile(T(1, 2))
Case t1 = "2"
PictureBox1.Image = Image.FromFile(T(2, 2))
Case t1 = "3"
PictureBox1.Image = Image.FromFile(T(3, 2))
Case t1 = "4"
PictureBox1.Image = Image.FromFile(T(4, 2))
Case t1 = "5"
PictureBox1.Image = Image.FromFile(T(5, 2))
End Select


et j'ai une erreur au niveau de mon case, il me parle de booléen, je ne vois vraiment pas pourquoi :(

si un peu d'aide arrive assez vite, j'en serai très reconnaissant =)

Merci d'avance ;)

A voir également:

1 réponse

Bonjour

1 -
C'est Select case T(t1, 0) et non pas Select T(t1, 0)

2 -
ta variable T(t1,0) a pour valeurs possibles "francs", "Yuan" etc...
donc dans ton select case, tu dois avoir des case "francs", case "Yuan" etc...

Il te parle de boolean parce que il attend des chaînes ("francs", "Yuan" etc...) alors que tu as mis des booléens : en effet, si t1 est un variant et "0" est une chaine, t1="0" est un booléen (il vaut true si t1 est effectivement égal à "0" et false sinon)
1