Récupérer valeur ComboBox [Résolu]

Messages postés
111
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
2 juin 2015
- - Dernière réponse : pitipilot
Messages postés
111
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
2 juin 2015
- 20 juin 2013 à 15:44
Bonjour,

Dans mon programme je créé automatiquement une combobox avec cette instruction :

    Set Libcb = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=361.5, Top:=268.5, Width:=147, Height:= _
        27.75)


Pour ajouter des éléments dans ma combobox, j'effectue cette instruction :

Libcb.Object.AddItem Element



Par contre je n'arrive pas à récupérer la valeur de ma ComboBox quelqu'un aurait-il une idée ? :)

PS : L'instruction "Libcb.Object.Value" ne fonctionne pas
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
3
Merci
Bonjour,
14) cela s'écrit de manière moins tortueuse, ainsi :
With ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
    .Name "toto": .LinkedCell "": .Left = 361.5
    .Top 268.5: .Width 147: .Height = 27.75
   End With
   Set toto = ActiveSheet.Shapes("Toto").DrawingObject.Object
   toto.AddItem "test1"
   toto.AddItem "test2"

et du coup ===>>
MsgBox toto.Value

2) la propriété value d'une combobox ne retourne pas forcément la valeur sélectionnée ! Elle retourne ce qui est inscrit dans la zone de saisie (qui peut être modifiée manuellement) !
Si tu veux la valeur de ce qui a réellement été sélectionné, sans le mloindre risque, utilise plutôt :
If toto.ListIndex >= 0 Then MsgBox toto.List(toto.ListIndex)

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 204 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
111
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
2 juin 2015
0
Merci
Voici la solution pour ceux qui tomberais sur ce topic :

    Set Libcb = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _
        DisplayAsIcon:=False, Left:=361.5, Top:=268.5, Width:=147, Height:= _
        27.75)


On nomme la ComboBox
Libcb.name = "Toto"


Libcb.Object.AddItem "test"


MsgBox ActiveSheet.Shapes("Toto").DrawingObject.Object.Value
Commenter la réponse de pitipilot
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Et surtout : écrit comme je te l'ai montré, tu bénéficie de l'intellisense


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
214
0
Merci
Et de tous les évènements, sans faire une classe


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
Messages postés
111
Date d'inscription
mercredi 19 mai 2010
Statut
Membre
Dernière intervention
2 juin 2015
0
Merci
Merci pour tes infos :)
Commenter la réponse de pitipilot