Programme pour liste déroulante

del8679 -  
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   -
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





A voir également:

8 réponses

Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonsoir del8679,

Quand vous dites 'dans le programme', c'est dans le code VBA du formulaire ?
0
del8679
 
oui dans le code VBA
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
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
del8679
 
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   Statut Membre Dernière intervention   92
 
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
del8679
 
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   Statut Membre Dernière intervention   92
 
Bonjour del8679,

Qu'est-ce qui ne fonctionne pas ?
0
del8679
 
les éléments de la liste déroulante apparaissent 4 fois
0
del8679
 
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   Statut Membre Dernière intervention   92
 
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