ComboBox

12classeur1.xlsx (30.18 Ko)

Bonjour a tous

Comment affiché dans un combobox, une liste en fonction du choix affiché dans des cercle d'option..., je joins mon petit bout de fichier..ce sera plus clair....

Vaux t'il mieux utiliser des contrôles ActiveX ou contrôles de formulaires

Merci pour votre aide

Bonjour,

A mettre dans un module standard :

Sub Choix()

    Dim S As Shape

    Set S = ActiveSheet.Shapes("Zone combinée 2")

    Select Case Application.Caller

        Case "Case d'option 4": S.ControlFormat.ListFillRange = "Bar"
        Case "Case d'option 5": S.ControlFormat.ListFillRange = "Boul_Pat"
        Case "Case d'option 6": S.ControlFormat.ListFillRange = "Cuisine"
        Case "Case d'option 7": S.ControlFormat.ListFillRange = "Emballage"
        Case "Case d'option 8": S.ControlFormat.ListFillRange = "Entretien"

    End Select

End Sub

ensuite, affecter cette macro à chaque bouton d'option (clic droit puis "Affecter une macro..."). C'est la "Zone combinée 2" qui est la cible

Bonjour et bon week end à toutes et tous

EDIT : je me suis trompé de post

crdlt,

André

Bonjour

a toi de choisir avec un userform

A+

Maurice

13classeur1-6.xlsm (39.23 Ko)

Merci à tous les 2 pour votre aide...

Teze, je fait comme tu me l'a indiquer, et ça fonctionne dans mon fichier exemple...mais je n'y arrive pas dans mon fichier... je pense qu'il s'agit des noms des différents contrôles qui ne corresponde pas....et au risque de paraitre ...comment dire je vois pas comment on peut voir ou modifier les noms des contrôles de formulaire....

Autre question, est il possible de mettre dans la macro, directement la référence à une cellule?

Je m'explique en A1 j'ai la cellule lié de mes choix d'option que je nomme "Choix_Secteur"

En A2 par exemple, je met cette formule "=si(Choix_Secteur=1; Parametre!E2; si Choix_Secteur=2; Parametre!E3;Si...." et ainsi de suite pour les 5 secteurs.

Donc si je sélectionne Bar dans mes choix, en A2 je vais donc avoir Bar, et donc le nom de la plage que je doit afficher

Donc peut on faire directement référence à la cellule A2, dans la macro pour afficher dans la combo?

Merci encore

André merci, j'ai pas encor pris le temps de regarder ton fichier....

Bonjour Jeanyves82

Désolé, je m'étais trompé de post

Bonsoir,

En A2 par exemple, je met cette formule

Formule à mettre en A2 :

=DECALER(Parametre!E1;Choix_Secteur;)

Plus court, et plus efficace...

est il possible de mettre dans la macro, directement la référence à une cellule?

En reprenant la macro de Theze, cela te donnera :

    S.ControlFormat.ListFillRange = Worksheets("TDB_Produits").Range("A2")

Une seule ligne en effet pour affecter la liste.

je vois pas comment on peut voir ou modifier les noms des contrôles de formulaire....

Tu sélectionnes ton contrôle, le nom apparaît dans la zone Nom :

2017 11 26 020318

Tu vas alors cliquer dans cette zone, le nom se met en surbrillance, tu tapes un nouveau nom, tu valides avec la touche Entrée.

Et le contrôle a un nouveau nom !

2017 11 26 020406

Tu désélectionnes, puis resélectionnes le contrôle pour vérifier que le nom a bien été mémorisé (un mauvais appui sur la touche ou si l'on n'opère pas avec Entrée, et l'opération n'est pas finalisée...)

Cordialement.

Rechercher des sujets similaires à "combobox"