[non résolu^^]Récupérer valeur d'une liste déroulante (vba excel)

dtom

Expert
Bonjour,

Voilà quelques jours que je cherche la méthode pour récupérer la valeur d'une liste déroulante (objet de formulaire), insérée directement depuis une feuille de calcul, et non un userform.


Je cherche également si il est possible de mettre les données dans cette liste sans passer par une sélection de cellules.

Merci d'avance

(ps : kangol t'énerve pas :D)
 

zeb

Modérateur
zeb is zen ...

Je ne comprends pas bien les questions. Pourrais-tu détailler ?
 

dtom

Expert
Donc, j'ai créer une liste déroulante dans une feuille excel.

Et je voudrais récuperer la valeur sélectionnée de la liste déroulante en code VBA.

Ce qui donne ca :

Vous devez être connecté pour voir les images.
 

zeb

Modérateur
A bas quand c'est bien expliqué ! :o

C'est ça que tu cherches ?
Code:
Workbooks("Classeur1").Worksheets("Feuil1").OLEObjects("ComboBox1").Object.Value

Y'a plus qu'à mettre [RESOLU] dans le titre :sol:
 

dtom

Expert
Merci pour la réponse, mais ... :(

J'ai mis ceci :

[cpp]test_var = Worksbooks("Valeurs en cours 0002.xls").Worksheets("Macros").OLEObjects("variation_stock").Object.value[/cpp]

Et j'ai une erreur :
"erreur d'exécution 1004
Imopssible de lire la propriété OLEObjects de la classe Worksheet

ps : j'utilise Excel 2003
 

zeb

Modérateur
[PAS ENCORE RESOLU]


Essaie ça :
Code:
Dim c As OLEObject
    
For Each c In Worksbooks("Valeurs en cours 0002.xls").Worksheets("Macros").OLEObjects
    Debug.Print c.Name
Next
Le vrai nom de ta combo devrait apparaître dans la fenêtre DEBUG.
 

dtom

Expert
je vien de trouver une solution de secours, mais pas trés propre, cela consite à liée une cellule, et faire des conditions sur le code ( ligne 1, 2 et 3, pour mon cas précis, c'est ok ).

je teste quand même ton code, pour infos ;)
 

hoegarden31

Expert
tu peux m'expliquer comment tu a creer une liste déroulante sur excel sans faire une userform ?
 

zeb

Modérateur
Ben en posant une combobox depuis la barre d'outils "Boîte à outils Contrôles" [:spamafote]
 

zeb

Modérateur
Ben en posant une combobox depuis la barre d'outils "Boîte à outils Contrôles" [:spamafote]


Han, tu n'as pas utilisé la barre d'outils "Boîte à outils Contrôles" mais la barre "Formulaire" !
Ton composant ne s'appelle pas "Combobox1" mais "Drop Down 1" !

Ceci pour voir ton composant :
Code:
Dim s As Shape

With Workbooks("Classeur1").Worksheets("Feuil1")
    Debug.Print "Nombre d'objets sur la feuille : " & Shapes.Count
    For Each s In .Shapes
        Debug.Print "- "; s.Name
    Next
End With

Donc la réponse a ton problème :
■ Ta solution de contournement est LA solution.

Tips: Utilise les objets OLE de la barre d'outils "Boîte à outils Contrôles".
 

charly888

Nouveau membre
Bonjour,

J'ai exactement le même problème que dtom (1 an après sur excel 2007).

Pareil, j'ai dessiné une combobox avec controles, je l'ai remplie avec une plage de mes feuilles.
Mais j'ai besoin de retrouver la valeur choisie dans la combo pour faire un tri sur une autre page et ainsi afficher un beau graphe.

Voici le code qui me permet de faire le tri:

Sheets("ASD DPQR Tier 1").Select
Rows("1:1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$DG$176").AutoFilter Field:=10
Sheets("Graph Highlight").Select

Sheets("ASD DPQR Tier 1").Select
Range("J1").Select
ActiveSheet.Range("$A$1:$DG$176").AutoFilter Field:=10, Criteria1:= _
"LO1_R1X3_12"

'Ici entre guillemets, une des valeurs que j'aimerais récupérer de ma combo.
'J'ai déjà essayé avec Combobox1.Value, mais comme je ne connais pas le nom de la combo ça ne sert à rien.
'Pour le code ci dessus, pour retrouver le nom, je n'arrive pas à le faire marcher.
'Drop Down 1 ne marche pas non plus.


Sheets("Graph Highlight").Select


Merci d'avance pour vos réponses,

Charly

 

zeb

Modérateur
Salut Charly,

Vire-moi ces couleurs infâmes. Tu en profiteras pour utiliser la balise
Code:
, conformément au règlement. Je suis sûr que tu attendais d'autres commentaires :/
 

charly888

Nouveau membre
Bonjour,

J'ai exactement le même problème que dtom (1 an après sur excel 2007).

Pareil, j'ai dessiné une combobox avec controles, je l'ai remplie avec une plage de mes feuilles.
Mais j'ai besoin de retrouver la valeur choisie dans la combo pour faire un tri sur une autre page et ainsi afficher un beau graphe.

Voici le code qui me permet de faire le tri:

Code:
    Sheets("ASD DPQR Tier 1" ).Select 
    Rows("1:1" ).Select 
    Selection.AutoFilter 
    ActiveSheet.Range("$A$1:$DG$176" ).AutoFilter Field:=10 
    Sheets("Graph Highlight" ).Select 
     
    Sheets("ASD DPQR Tier 1" ).Select 
    Range("J1" ).Select 
    ActiveSheet.Range("$A$1:$DG$176" ).AutoFilter Field:=10, Criteria1:= _ 
        "LO1_R1X3_12" 
    Sheets("Graph Highlight" ).Select

'Ici entre guillemets ("LO1_R1X3_12"), une des valeurs que j'aimerais récupérer de ma combo.
'J'ai déjà essayé avec Combobox1.Value, mais comme je ne connais pas le nom de la combo ça ne sert à rien.
'Pour le code ci dessus, pour retrouver le nom, je n'arrive pas à le faire marcher.
'Drop Down 1 ne marche pas non plus.


Merci d'avance pour vos réponses,

Charly


PS: C'est bon comme ça?
oui c'est sur, j'ai attendu une réponse toute l'après midi, au moment où j'allais éteindre l'ordi, je reçoit le message, tout excité j'ouvre et non pas de réponse :-(
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 826
Membres
1 586 367
Dernier membre
ramkin
Partager cette page
Haut