Comment recuperer la valeur d'une comboboxVBA

Résolu
MC" Messages postés 5 Statut Membre -  
MC" Messages postés 5 Statut Membre -
Bonjour,

J'ecris du code VBA sou access.
Je cherche a recuperer dans une variable (format string) la valeur d'une combo box située dans un form.

Lorsque j'ecris :
strYear = CStr(Form_NewYearForm.ComboNewYear.Value)

strYear retourne la positioin (listIndex) et non pas le texte selectionné dans la combobox.

Est ce normal ?
Est ce que .Value retourne bien la chaine de caractere selectionnée dans la combo box ?

Merci pour votre aide.
Configuration: Windows 2003 Internet Explorer 6.0

2 réponses

  1. Pico51 Messages postés 846 Statut Membre 69
     
    Bonjour,

    As-tu essayer la propriété Text au lieu de Value ?
    Et je crois d'ailleurs que tu n'es pas obligé de faire un cast.
    0
    1. MC" Messages postés 5 Statut Membre
       
      Lorsque j'ecris :
      strYear = (Form_NewYearForm.ComboNewYear.Text)

      J'ai un message d'erreur : Run-time error 2185
      you can't refer a property or method for a control unless the control has the focus.

      donc, je conlcus que .Text ne fonctionne pas ici.

      MC2
      0
  2. MC" Messages postés 5 Statut Membre
     
    J'ai trouve la solution :

    Form_NewYearForm.ComboNewYear.SetFocus
    strYear = CStr(Form_NewYearForm.ComboNewYear.Text)
    Form_NewYearForm.Repaint

    Pour utiliser la fonction .Text, il faut d'abord "mettre le focus" sur la combo box. Et ensuite enlever tout focus avec la fonction .Repaint.

    .value et .text ont a peu pres le meme role dans une combo box.
    .text correspond a ce qui est ecrit.
    .value correspond a ce qui est ecrit apres enregistrement.

    Merci Pico pour ton coup de pouce !
    0