Programme pour liste déroulante

Bonjour,

j'ai une fiche ou l'on doit choisir entre reponse 1 ou réponse 2
voici mon programme

Private Sub CBX_Typ_LostFocus()

If CBX_Typ <> "reponse1" And CBX_Typ <> "reponse2" Then
CBX_Typ = ""
End If

End Sub

cependant cela fonctionne si 1 et 2 sont écris dans ma feuille de calcul
mais je ne souhaite pas que ces données soient dans la feuille de calcul mais uniquement dans le programme

comment faire !!
merci

8 réponses

  1. Bonsoir del8679,

    1° de plus l'utilisateur peut écrire autre chose que les éléments de la liste déroulante .. il faut mettre la propriété style à 2 - fmStyleDropDownList.

    2° faut-il modifier quelque chose dans les propriétés de la comobox ? .. Il faudrait tout le code de la feuille "UserForm" pour voir ce qui cloche !

    Bonne soirée.
    1. faut-il modifier quelque chose dans les propriétés de la comobox ?

      de plus l'utilisateur peut écrire autre chose que les élements de la liste déroulante

      j'ai tout essayé !
      merci d'avance
      1. j'ai essayé cela et ça ne fonctionne toujours pas

        Private Sub CBX_Typ_Activate()

        If CBX_Typ <> "Annuité constante" And CBX_Typ <> "Amortissement constant" Then
        CBX_Typ = ""
        End If

        With CBX_Typ
        .AddItem "Annuité constante"
        .AddItem "Amortissement constant"
        End With

        End Sub
        1. Bonjour del8679,

              Private Sub CBX_Typ_Change()
                  CBX_Typ.AddItem "réponse1"
                  CBX_Typ.AddItem "réponse2"
              End Sub

          Ce code va ajouter "réponse1" et "réponse2" à chaque changement de la ComboBox.

          Ce qu'il faut faire:
          Initialiser la ComboBox avec la procédure Activate ou Initialize du formulaire .. A ce moment là, la ComboBox s'initialise en ajoutant les deux items et pas plus, car cette procédure n'est plus appelée par la suite.

          La procédure :
              Private Sub CBX_Typ_Change()
                  code
              End Sub
          sert à mettre un code qui exécute des actions en fonction du choix de l'item de la ComboBox.

          Cordialement.
          1. oui dans le code VBA
            1. Bonsoir,

              CBX_Typ est une ComboBox ?
              Dans laquelle, les items sont reponse1 et reponse2 ?

              Si oui, je ne vois pas où est le problème !!
            2. Bonjour,

              le soucis c'est que réponse 1 réponse 2 se répètent une dizaine de fois !

              Private Sub CBX_Typ_Change()

              CBX_Typ.AddItem "réponse1"
              CBX_Typ.AddItem "réponse2"

              End Sub

              je ne comprends pas
          2. Bonsoir del8679,

            Quand vous dites 'dans le programme', c'est dans le code VBA du formulaire ?