Image dans Frame en Visual Basic

Dina -  
 calibos -
Bonjour,
J'ai un formulaire VB (Form1). Dans ce formulaire, j'ai inséré 2 Frames (Frame1 et Frame2). Dans Frame1, il y a 2 zones de texte (Text1 et Text2) qui contiennent des nombres entiers, 2 images (Image1 et Image2) et 2 boutons de commande (Affichage et Nouveau).
Au démarrage du formulaire C'est seulement le Frame1 qui doit s'afficher avec tous les objets qui y sont insérés. Alors je dois saisir un nombre dans chaque zone de texte (Text1 et Text2) et je clique sur le bouton "Afficher" pour voir le résultat. En cliquant sur ce bouton, Frame1 disparaît et Frame2 apparaît avec ce que je parle comme résultat qui est l'affichage de Image1 (si la valeur de Text1 est supérieure à celle de Text2), sinon l'affichage de Image2 (si la valeur de Text2 est supérieure à celle de Text1), sinon l'affichage de Image1 et Image2 (si la valeur de Text1 est égale à celle de Text2).
Maintenant, je peux cliquer sur le bouton "Nouveau" pour renouveler la saisie des nombres, ce qui fait réapparaître Frame1 et disparaître Frame2.
Et c'est là que je rencontre le problème : c'est qu'après, si je clique sur Affichage (après avoir saisie les nombres dans Text1 et Text2), ce sont les 2 images qui s'affichent même si les valeurs des deux zones de textes ne sont pas égales. Que faire ?
J'espère qu'il y a une solution à ce problème et je vous remercie d'avance et encore de votre aide.
Merci
A voir également:

7 réponses

calibos
 
Bonjour,

Pas la peine de créer un nouveau Post à chaque question sur le meme sujet.

On avait vu tout à l'heure comment affecter des valeurs aux controles Image (Image.Picture)

Dans le code du boutton Affichage

If val(Text1.Text)=val(Text2.Text) then
  Image3.Picture=Image1.Picture
  Image4.Picture=Image2.Picture
End if
If val(Text1.Text)>val(Text2.Text) then
  Image3.Picture=Image1.Picture
  Image4.Picture=""
End if
If val(Text1.Text)<val(Text2.Text) then
  Image3.Picture=""
  Image4.Picture=Image2.Picture
End if


Dans le code du bouton Nouveau
  Image3.Picture=""
  Image4.Picture=""
  Text1.Text=""
  Text2.Text=""

A+.
0
Dina
 
Bonjour,
Quand j'ai fait comme vous avez dit, ça ne marche pas. On m'affiche un message d'erreur comme quoi le type n'est pas compatible. Et là on fait référence aux ""
Merci.
0
calibos
 
Re,

Est-ce qu'on peut voir ce que tu as écris et qui ne marche pas?

Merci.
0
calibos
 
Re,

J'ai fait un test chez moi. Effectivement ça ne marche pas avec Image1.Picture = ""
Il faut mettre Image1.Picture = Nothing

Voila ce que j'ai fait:

'Boutton afficher
Private Sub Command1_Click()
Frame1.Visible = False
If Val(Text1.Text) = Val(Text2.Text) Then
  Image3.Picture = Image1.Picture
  Image4.Picture = Image2.Picture
End If
If Val(Text1.Text) > Val(Text2.Text) Then
  Image3.Picture = Image1.Picture
  Image4.Picture = Nothing
End If
If Val(Text1.Text) < Val(Text2.Text) Then
  Image3.Picture = Nothing
  Image4.Picture = Image2.Picture
End If
Frame2.Visible = True
End Sub

'Boutton nouveau
Private Sub Command2_Click()
  Image3.Picture = Nothing
  Image4.Picture = Nothing
  Text1.Text = ""
  Text2.Text = ""
Frame1.Visible = True
Frame2.Visible = False
End Sub
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dina
 
Bonsoir,
Je vous montre comment j'ai fait concernant le code :

- L'interface code du formulaire :
Private Sub Form_Load()
Frame1.Visible = True
Frame2.Visible = False
End Sub


- L'interface code du bouton Nouveau :
Private Sub Cmd_Nouveau_Click()
Frame1.Visible = True
Frame2.Visible = False
Image3.Picture = ""
Image4.Picture = ""
Text1.Text = ""
Text2.Text = ""
End Sub


- L'interface code du bouton afficher :
Private Sub Cmd_Afficher_Click()
Frame1.Enabled = False
Frame2.Enabled = True
If Val(Text1.Text) = Val(Text2.Text) Then
  Image3.Picture = Image1.Picture
  Image4.Picture = Image2.Picture
End If
If Val(Text1.Text) > Val(Text2.Text) Then
  Image3.Picture = Image1.Picture
  Image4.Picture = ""
End If
If Val(Text1.Text) < Val(Text2.Text) Then
  Image3.Picture = ""
  Image4.Picture = Image2.Picture
End If
End Sub


Merci.
0
Dina
 
Bonsoir,
J'ai fait avec Nothing et ça marche bien.
Maintenant j'ai compris que je n'ai pas besoin de à chaque fois de nouveau post mais je sais que j'aurai d'autres questions.
Merci et merci encore.
0
calibos
 
et voila la correction

Private Sub Cmd_Nouveau_Click()
Frame1.Visible = True
Frame2.Visible = False
Image3.Picture = Nothing
Image4.Picture = Nothing
Text1.Text = ""
Text2.Text = ""
End Sub

Private Sub Cmd_Afficher_Click()
Frame1.Visible = False
Frame2.Visible = True
If Val(Text1.Text) = Val(Text2.Text) Then
  Image3.Picture = Image1.Picture
  Image4.Picture = Image2.Picture
End If
If Val(Text1.Text) > Val(Text2.Text) Then
  Image3.Picture = Image1.Picture
  Image4.Picture = Nothing
End If
If Val(Text1.Text) < Val(Text2.Text) Then
  Image3.Picture = Nothing
  Image4.Picture = Image2.Picture
End If
End Sub
0