Image dans Frame en Visual Basic

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
Configuration: Windows XP
Firefox 3.0.14

7 réponses

  1. 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+.
    1. 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.
      1. Re,

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

        Merci.
        1. 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
          
          1. 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.
            1. 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.
              1. 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