Programme pour liste déroulante

Fermé
del8679 - 15 janv. 2013 à 17:55
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 22 janv. 2013 à 18:57
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

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 18:40
Bonsoir del8679,

Quand vous dites 'dans le programme', c'est dans le code VBA du formulaire ?
0
oui dans le code VBA
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
15 janv. 2013 à 22:32
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 !!
0
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
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
16 janv. 2013 à 14:21
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.
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
22 janv. 2013 à 16:26
Bonjour del8679,

Qu'est-ce qui ne fonctionne pas ?
0
les éléments de la liste déroulante apparaissent 4 fois
0
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
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
22 janv. 2013 à 18:57
Bonsoir del8679,

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.

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.
0