Combobox

Résolu
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008 - 20 août 2007 à 18:46
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008 - 21 août 2007 à 16:18
Bonjour,

j'ai un petit problème avec une combobox (elle s'appelle: ComboBox1_Change()) dans un formulaire (nommé "Score"). je voudrais qu'elle prenne 2 variables, à savoir "masculin" et "féminin" et qu'elle affiche automatiquement "féminin" par défaut. j'ai essyé de le faire comme ça

Private Sub ComboBox1_Change()
    AddItem "Masculin"
    AddItem "Féminin"
End Sub

mais ça joue pas (et ai aucune idée de ce qu'il faut faire). si qqn pouvait m'aider ce serait sympa. merci d'avance

14 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 août 2007 à 19:07
Salut,


Private Sub Form_Load()
    Combo1. AddItem "Masculin"
    Combo1.AddItem "Féminin"
    Combo1.Selected(1)=True  '=>  2° ligne 
End Sub


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
3
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
20 août 2007 à 19:09
Salut,

il ne faut pas remplir le ComboBox dans l'évènement Change, essayez de la faire plutôt dans l'évènement Form_Load..

Combo1.AddItem "Houcem"
Combo1.AddItem "Fémnin"
Combo1.ListIndex = 1

Cordialement..
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 août 2007 à 19:13
Salut à Tous,

Chaibat05(salut), attention dans le cas ou le combo est en propriété Sorted sur True, dans ce cas là féminin se retrouve avant masculin...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 août 2007 à 19:20
Salut Exploreur,

Ouais !  
Private Sub Form_Load()
    Combo1. AddItem "Masculin"
    Combo1.AddItem "Féminin"
    Combo1.Selected(1)=True 
    If Combo1.Sorted=True Then Combo1.Selected(0)=True  
End Sub

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0

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

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 août 2007 à 19:32
....

Voir, forcer le Additem en position 0, ainsi je pense plus de soucis de sorted et dans le cas où il rajoute des nom commençant par F....

   Private Sub Form_Load()
       Combo1.AddItem "Fémur"
       Combo1.AddItem "Fofolle"
       Combo1.AddItem "Futur"
       Combo1.AddItem "Masculin"
       Combo1.AddItem "Féminin", 0
   End Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
20 août 2007 à 19:37
c' est pas fofolle mais il y ' a un os là , car si Sorted=True
féminin est de toute façon avant fémur

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
20 août 2007 à 19:42
...Touché...coulé...Vizzzzzz...

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008
20 août 2007 à 22:57
merci pour vos réponses, mais ai toujours le même problème... et puis quand je double-clic sur la combobox ça me met automatiquement:

Private Sub ComboBox1_Change()


End Sub

et si je met :  Combo1. AddItem "Masculin"
                   Combo1.AddItem "Féminin"
                   Combo1.Selected(1)=True  '

dedans ça ne fait rien et c'est la même chose si je change le "Change" en "Load"... je suis perdu
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
21 août 2007 à 00:15
Perdu ?!! beh peut être...
Pour l' instant je le suis autant que toi.
Car je ne comprend pas bien le rapport avec le double click !
D' hab quand on a un Combo avec un nombre d' items
et qu' on veut en afficher un par defaut:
1°  On le remplit d' abord quand on charge le formulaire.=>Form_Load()
2°  On indique ensuite dans cette même Sub, l' index de l' élément qu' on
      veut afficher => ComboBox1.ListIndex=1


Et on ne se préoccupe plus ni de change() ni de Click() ni du reste.
Si l' utilisateur veut changer ce qui est affiché, pas besoin de code.
il n' a qu' à choisir dans la liste déroulante.Le texte du Combo changera
automatiquement selon son choix.

Alors , ou est le problème ?


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 août 2007 à 08:55
salut,

suffit juste de récupérer la position du mot dans la list (combobox et listbox) et de sélectionner si on trouve.

çà donne çà :

Function GetListIndex(oObj As Object, sValue As String) As Long
    GetListIndex = -1
    Dim i As Long
    If Not oObj Is Nothing Then
        If (TypeOf oObj Is ComboBox) Or (TypeOf oObj Is ListBox) Then
            If oObj.ListCount > 0 Then
                For i = 0 To oObj.ListCount - 1
                    If oObj.List(i) = sValue Then GetListIndex = i: Exit For
                Next i
            End If
        End If
    End If
End Function

désormais dispo sur Codyx
++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
21 août 2007 à 09:16
Moi je trouve que la question sent très fort le VBA...

Merci.

Tubafat
0
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008
21 août 2007 à 11:42
le couble click c'est quand je veux affecter le code à la combobox (nommée Form) sous VBA et quand je fais ça, il y a automatiquement:

Private Sub Combo_Change()

End Sub

qui s'affiche. et là je rentre:

Combo1. AddItem "Masculin"
Combo1.AddItem "Féminin"
Combo1.Selected(1)=True

puis quand je vais sous excel et que j'exécute le formulaire (nommé Score), la combobox est vide... ai essayé vos propositions mais à chaque fois c'est la même chose...
je vous mettrais bien le fichier en annexe, mais pense pas que c'est possible...
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
21 août 2007 à 11:52
le double-click t'emmène, en édition, sur l'évènement par défaut, à savoir le change
là actuellement tu n'as affecté aucun code, encore moins à l'évènement dblclick

regarde en haut à gauche tu as le contrôle voulu, et à droite ses évènements

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Landoltp Messages postés 68 Date d'inscription mercredi 1 août 2007 Statut Membre Dernière intervention 14 mars 2008
21 août 2007 à 16:18
c'est bon ça marche...

Private Sub CommandButton1_Click()
Load Score
Score.ComboBox1.AddItem "Féminin"
Score.ComboBox1.AddItem "Masculin"
Score.ComboBox1.Text = "Féminin"
Score.Show
End Sub

ai compris ce qui clochait, merci beaucoup à tous
0
Rejoignez-nous