XL 2016 Récupérer valeur sélectionnée dans Zone de liste déroulante

Jam

XLDnaute Accro
Bonjour à tous,

C'est un truc tout con, mais je m'arrache les cheveux à trouver la solution.
J'ai mis dans une feuille une Zone de Liste Déroulante (pas le ActiveX). celui où il suffit de renseigner une plage pour les données, et une cellule de destination pour la sélection. Sans macro, c'est easy.
Là où ça se corse, c'est que je veux faire une macro, qui lorsque j'ai fait ma sélection je puisse récupérer la sélection dans une variable pour la mettre ailleurs que dans la cellule de destination.
Et je n'arrive pas à récupérer à défaut de la valeur à minima l'index en vba

1587718739847.png


Merci pour votre aide
 

Jam

XLDnaute Accro
Bonjour Jam



Peux-tu preciser ta question ?
J'avoue que j'ai un peu de mal a comprendre....

Regarde la pièce jointe 1063996

VB:
Sub DropDown1_Change()
    ValSelect = [H4]
    MsgBox ValSelect
End Sub

A tester

Ce n'est pas la solution à laquelle je pensais, mais ça fonctionne et c'est encore plus simple !

Maintenant si tu sais me dire comment récupérer "val2" directement dans la DropDown et non dans la cellule, je reste preneur

Merci
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, JAM, Fred0o

Mon intertprétation de la question
(NB: La macro TestZoneCombinée sert à créer l'exemple
et doit donc être exécutée qu'une seule fois)

A tester sur une feuille vierge
VB:
Option Explicit
Sub TestZoneCombinée()
Dim ZCombi As DropDown
Set ZCombi = ActiveSheet.DropDowns.Add(30, 30, 100, 15)
With ZCombi
    .Name = "MaZone"
    .RemoveAllItems
    .List = Array("1", "2", "3", "4", "5")
    .OnAction = "MaZone_Change"
End With
End Sub
Sub MaZone_Change()
Dim CBX As DropDown
Dim Ma_Variable
Set CBX = ActiveSheet.Shapes("MaZone").OLEFormat.Object
Ma_Variable = CBX.List(CBX.ListIndex)
MsgBox Ma_Variable
End Sub
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour @Jam, @Fred0o , @Staple1600 , au Forum

Moi j'ai compris comme çà :

Form_Control_DropDown.gif


Il suffit d'assigner ce genre de code à la Form Control DropDown (qui est vue comme "Shapes" par VBA
VB:
Option Explicit

Sub Value_DropDown()
    With ActiveSheet.Shapes("Drop Down 1")
        MsgBox "La Valeur Selectionnée " & .ControlFormat.List(.ControlFormat.ListIndex)
    End With
End Sub

PS Ca fait un bail Jam, j'espère que tu vas bien malgrè les circonstances.

Bien à toi, bien à vous
@+Thierry
 

Jam

XLDnaute Accro
Salut Stap, Thierry,

Oui vous aviez bien compris tous les deux :cool:
@thierry > un sacré bail oui ! Ca va, mais comme tu peux voir mon Excel s'est un peu perdu en route car j'utilise de moins en moins. Bref c'est tout rouillé :eek:. Ca fait plaisir de te voir sur le forum, il me semble que tu avais disparu à un moment. Au plaisir !

Merci
 

Discussions similaires

Réponses
2
Affichages
273

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16