VBA

Résolu
Bonjour,

Je cherche à afficherune userform aassez spéciale mais je débute en Visual Basic donc ne trouve pas de solution.
Voilà mon problème:

Je suis en train de créer un questionaire évolutif (les questions évoluent en fonction des réponses).
Je cherche à faire répondre à la question 1 grâce à un menu déroulant (ça j'ai réussi grâce à une liste modifiable dans ma userform à laquelle j'ai affecté une rowsource de mon document)
Ce que je cherche à faire est ensuite de faire évoluer la question 2 en fonction de la réponse 1.

Si la réponse est "a", la question est "6"
Si la réponse est "b, la question suivante est "7"
Si la réponse est "c", etc etc

Pouvez vous m'aider?
--
Thor tue

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour

    Avec des IF tout simplement ou, s'il y en a beaucoup avec des SELECT CASE

    Je ne sais pas comment est faite ta UserForm mais il paraît inutile de faire plusieurs questions, mieux vaut les gérer dans le VBA.
    On suppose que la question est un LABEL et qu'il est dépendant de ta réponse TEXTBOX1, ça donnera à peu près ça :

    réponse = Me.TextBox1.Value
    Select Case réponse
    Case "a"
    Me.Label2.Caption = "question 6"
    Case "b"
    Me.Label2.Caption = "question 7"
    Case "c"
    Me.Label2.Caption = "question 8"
    End Select


    m@rina
    1. Alors ton truc marche pour des réponses écrites dans une zone de texte.

      Mais comment faire changer la question quand la réponse de la question précédente a été choisie dans une liste modifiable?

      merci
      1. Modérateur
        C'est la même chose !
        Tu remplaces Textbox1 par le nom de la liste déroulante (ComboBox).

        m@rina
        1. Private Sub combobox1_change()
          réponse = ComboBox1.Value
          Select Case réponse
          Case "essence"
          Me.Label2.Caption = "question 6"
          Case "gaz"
          Me.Label2.Caption = "question 7"
          Case "électricité"
          Me.Label2.Caption = "question 8"
          End Select
          End Sub

          Alors j'ai mis ceci mais lorsque je change de données dans ma liste, aucune "question" ne s'affiche.

          Où est le bug?
          1. C'est bon j'ai trouvé le souci.
            J'ai changé

            Private Sub combobox1_change()

            par

            Private Sub combobox1_click()

            Merci pour tout!