Se connecter avec
S'enregistrer | Connectez-vous

Afficher checkbox en fonction d'une combobox

Dernière réponse : dans Programmation

Bonjour à tous,

J'ai dans un formulaire VB6 une combobox (Valeurs "oui" et "non"), et plusieurs checkbox. J'ai lors de l'ouverture de mon formulaire, la combobox en "non", et donc on ne voit pas les checkbox. J'aimerais que lorsque l'utilisateur passe la combobox à "oui", les checkbox apparaissent.
J'ai testé ça, mais ça ne fonctionne pas :
  1. Private Sub CmbRéponse_Change()
  2. If CmbRéponse.Text = "Oui" Then
  3. Check7.Visible = True
  4. End If
  5. End Sub


Un petite aide ?
Merci.
Lassé par la pub ? Créez un compte

Meilleure solution

Expert Programmation

Salut,

Tu fais comme tu veux, mais une combobox pour deux valeurs, et oui/non en plus, c'est très moche. Une checkbox, c'est plus joli, non ? Où sinon, deux optionbox, Oui/Non...

Tiens, voici le code complet d'un form de test. A enregistrer sous le nom FormOuiNon.frm et à ajouter à un projet de test.

  1. VERSION 5.00
  2. Begin VB.Form Form1
  3. Caption = "Alors c'est oui ou c'est non ?"
  4. ClientHeight = 3375
  5. ClientLeft = 60
  6. ClientTop = 345
  7. ClientWidth = 6375
  8. LinkTopic = "Form1"
  9. ScaleHeight = 3375
  10. ScaleWidth = 6375
  11. StartUpPosition = 3 'Windows Default
  12. Begin VB.CommandButton Command1
  13. Cancel = -1 'True
  14. Caption = "&Fermer"
  15. Height = 495
  16. Left = 2520
  17. TabIndex = 14
  18. Top = 2640
  19. Width = 1215
  20. End
  21. Begin VB.Frame Frame3
  22. Caption = "Votre choix"
  23. Height = 2055
  24. Left = 4320
  25. TabIndex = 7
  26. Top = 240
  27. Width = 1815
  28. Begin VB.ComboBox Combo1
  29. Height = 315
  30. ItemData = "FormOuiNon.frx":0000
  31. Left = 120
  32. List = "FormOuiNon.frx":000A
  33. Style = 2 'Dropdown List
  34. TabIndex = 10
  35. Top = 480
  36. Width = 1575
  37. End
  38. Begin VB.CheckBox Check7
  39. Caption = "Check7"
  40. Height = 255
  41. Left = 120
  42. TabIndex = 9
  43. Top = 1560
  44. Visible = 0 'False
  45. Width = 1575
  46. End
  47. Begin VB.CheckBox Check6
  48. Caption = "Check6"
  49. Height = 255
  50. Left = 120
  51. TabIndex = 8
  52. Top = 1200
  53. Visible = 0 'False
  54. Width = 1575
  55. End
  56. End
  57. Begin VB.Frame Frame2
  58. Caption = "Votre choix"
  59. Height = 2055
  60. Left = 2280
  61. TabIndex = 3
  62. Top = 240
  63. Width = 1815
  64. Begin VB.CheckBox Check5
  65. Caption = "Check5"
  66. Height = 255
  67. Left = 120
  68. TabIndex = 6
  69. Top = 1560
  70. Visible = 0 'False
  71. Width = 1575
  72. End
  73. Begin VB.CheckBox Check4
  74. Caption = "Check4"
  75. Height = 255
  76. Left = 120
  77. TabIndex = 5
  78. Top = 1200
  79. Visible = 0 'False
  80. Width = 1575
  81. End
  82. Begin VB.CheckBox Check3
  83. Caption = "Oui/Non"
  84. Height = 255
  85. Left = 120
  86. TabIndex = 4
  87. Top = 480
  88. Width = 1575
  89. End
  90. End
  91. Begin VB.Frame Frame1
  92. Caption = "Votre choix"
  93. Height = 2055
  94. Left = 240
  95. TabIndex = 0
  96. Top = 240
  97. Width = 1815
  98. Begin VB.Frame Frame4
  99. Height = 615
  100. Left = 120
  101. TabIndex = 11
  102. Top = 240
  103. Width = 1575
  104. Begin VB.OptionButton Option2
  105. Caption = "&Non"
  106. Height = 195
  107. Left = 840
  108. TabIndex = 13
  109. Top = 240
  110. Value = -1 'True
  111. Width = 675
  112. End
  113. Begin VB.OptionButton Option1
  114. Caption = "&Oui"
  115. Height = 195
  116. Left = 120
  117. TabIndex = 12
  118. Top = 240
  119. Width = 675
  120. End
  121. End
  122. Begin VB.CheckBox Check2
  123. Caption = "Check2"
  124. Height = 255
  125. Left = 120
  126. TabIndex = 2
  127. Top = 1560
  128. Visible = 0 'False
  129. Width = 1575
  130. End
  131. Begin VB.CheckBox Check1
  132. Caption = "Check1"
  133. Height = 255
  134. Left = 120
  135. TabIndex = 1
  136. Top = 1200
  137. Visible = 0 'False
  138. Width = 1575
  139. End
  140. End
  141. End
  142. Attribute VB_Name = "Form1"
  143. Attribute VB_GlobalNameSpace = False
  144. Attribute VB_Creatable = False
  145. Attribute VB_PredeclaredId = True
  146. Attribute VB_Exposed = False
  147. Option Explicit
  148.  
  149. Private Sub Check3_Click()
  150. Check4.Visible = Check3.Value
  151. Check5.Visible = Check3.Value
  152. End Sub
  153.  
  154. Private Sub Combo1_Click()
  155. Check6.Visible = Combo1.Text = "Oui"
  156. Check7.Visible = Combo1.Text = "Oui"
  157. End Sub
  158.  
  159. Private Sub Command1_Click()
  160. Unload Me
  161. End Sub
  162.  
  163. Private Sub Form_Load()
  164. Combo1.ListIndex = 1
  165. End Sub
  166.  
  167. Private Sub Option1_Click()
  168. Check1.Visible = Option1.Value
  169. Check2.Visible = Option1.Value
  170. End Sub
  171.  
  172. Private Sub Option2_Click()
  173. Check1.Visible = Option1.Value
  174. Check2.Visible = Option1.Value
  175. End Sub


Tu remarqueras que je n'écris pas
  1. Si condition = Vrai Alors
  2. Check7.Visible = Vrai
  3. Sinon
  4. Check7.Visible = False
  5. Fin Si
Mais directement
  1. Check7.Visible = Condition


------------------------------

Ton erreur était d'avoir été logique !!!!!!! :lol: 
En fait, l'événement Change ne se déclenche pour un combo que lorsqu'on écrit dans la partie texte. Si ton combo est de style DropDown, l'événement Change ne se déclenche pas. En fait, c'est l'événement Click qui se déclenche.

Utilise le clavier (fleche, tabulation et espace) pour te balader dans la form proposée et valider/invalider tes choix. Observe que même sans utiliser la souris, ce sont les événements Click qui se déclenchent.

Effectivement, une checkbox suffira au lieu d'une combobox Oui/Non. Je vais changer ça.

Le click fonctionne bien au lieu du change. Il me semblait avoir essayer, mais ça devait être autre chose, car ça ne fonctionnait pas. Merci pour ça.

Pour ton fichier de test, j'ai quelques erreurs. A chaque Begin, il attend qqch à la fin.
J'ai aussi les lignes 30 et 32 en rouge, ainsi que les Attribute.
ET honnêtement, je ne sais pas du tout quoi en faire...

Est ce que je dois bien mettre se code directement sous Option Explicit ?

Encore merci pour ton aide.
Expert Programmation

Citation :
Tiens, voici le code complet d'un form de test. A enregistrer sous le nom FormOuiNon.frm et à ajouter à un projet de test.
Citation :
ET honnêtement, je ne sais pas du tout quoi en faire...
Est ce que je dois bien mettre se code directement sous Option Explicit ?

:/ 
Lassé par la pub ? Créez un compte