VBA userform et select case

Résolu
Bonjour,

Je suis actuellement en train de créer une macro avec des formulaires afin de remplir ma feuille de données excel. J'ai mes données correspondant à des réponses aux questions contenues dans les colonnes. J'ai donc créé un formulaire unique pour toutes les questions avec une zone de texte et différents boutons. Je voudrait savoir s'il est possible de ne garder que quelques éléments de mon userform lorsqu'il s'affiche ?
J'ai écrit ce code :
Select Case section

Case 1
Questions.TexteLibre.Visible = True
Questions.D.Visible = True
Questions.TexteLibre.Enabled = True
Questions.D.Enabled = True
Questions.OK.Visible = True
Questions.OK.Enabled = True

Case 2
Questions.Oui.Visible = True
Questions.Non.Visible = True
Questions.D.Visible = True
Questions.Oui.Enabled = True
Questions.Non.Enabled = True
Questions.D.Enabled = True
Case 3
Questions.TS.Visible = True
Questions.S.Visible = True
Questions.PS.Visible = True
Questions.NS.Visible = True
Questions.D.Visible = True
Questions.TS.Enabled = True
Questions.S.Enabled = True
Questions.PS.Enabled = True
Questions.NS.Enabled = True
Questions.D.Enabled = True
Case 4
Questions.Oui.Visible = True
Questions.Non.Visible = True
Questions.Oui.Enabled = True
Questions.Non.Enabled = True

End Select

Cependant il m'affiche quand même tous les éléments alors que dans ma feuille de calcul j'ai rajouté une ligne qui contient le numéro de la forme de formulaire que je veux pour cette question. J'espère avoir été le plus claire possible et que quelqu'un pourra m'aider. Merci d'avance et bonne journée.

Vanessa

2 réponses

  1. Autant pour moi je viens de trouver la solution !!
    Il suffisait simplement dans les propriétés de mon formulaire pour chaque éléments qui ne revenait pas tout le temps de mette visible à FALSE !
    :/
    Merci quand même à ceux qui ont peut être cherché ;).

    J'ai eu l'idée grâce à un autre problème posé sur ce forum ! Vive commentcamarche !!!

    Bonne journée à tous
    1. tu as écris

      Select Case section

      Case 1
      Questions.TexteLibre.Visible = True
      Questions.D.Visible = True
      Questions.TexteLibre.Enabled = True
      Questions.D.Enabled = True
      Questions.OK.Visible = True
      Questions.OK.Enabled = True

      Case 2
      Questions.Oui.Visible = True Questions.Non.Visible = True
      Questions.D.Visible = True
      Questions.Oui.Enabled = True
      Questions.Non.Enabled = True
      Questions.D.Enabled = True

      je suppose que tu as placé ce code dans la partie initialisation ou bien en Activate.
      mais tu n'as pas caché ce que tu n'utilise pas.

      il faut simplement écrire

      Case 1
      Questions.TexteLibre.Visible = True
      Questions.D.Visible = True
      Questions.TexteLibre.Enabled = True
      Questions.D.Enabled = True
      Questions.OK.Visible = True
      Questions.OK.Enabled = True

      Case 2
      Questions.TexteLibre.Visible = false ' Texte libre sera caché

      Questions.Oui.Visible = True Questions.Non.Visible = True
      Questions.D.Visible = True
      Questions.Oui.Enabled = True
      Questions.Non.Enabled = True
      Questions.D.Enabled = True

      A+