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

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

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