Excel : Comment attacher une Liste déroulante à une cellule Excel ?

[Résolu]
Signaler
Messages postés
1
Date d'inscription
samedi 15 octobre 2005
Statut
Membre
Dernière intervention
15 octobre 2005
-
Messages postés
11
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
22 juillet 2008
-
Bonjour camarades programmeurs,

Je suis en train de me faire une petite application en VB6.0 sous Excel me permettant de faire la gestion de compte personnel.
Je suis débutant en VBA!!
Je voudrais arriver à accrocher à tout un ensemble de cellule une liste déroulante.
C'est à dire en prenant un exemple
Dans la première colonne je mets des intitulés de dépenses (ex retrait bancaire ou versement d'un compte A vers B ...)
et je voudrais dans la deuxième colonne mettre en vis à vis de chaque élément de la première colonne une liste déroulante
me permettant de trier par type d'action chaque élément de cette première colonne (ex Retrait, Entretien voiture...).
Tout ca dans le but de créer des catégories de dépense pour distinguer les différentes parties de mon budget.

J'ai trouvé jusqu'à présent :
Sub AjoutListeDeroulante()
Dim lb


With Worksheets(1)
Set lb = .Shapes.AddFormControl(xlDropDown, 100, 10, 100, 10)
lb.ControlFormat.ListFillRange = "A1:A10"
End With
End Sub

Mais malheureusement cette liste déroulante n'est pas attachée à une cellule. C'est à dire lorsque je redimensionne les lignes et colonnes, la liste déroulante n'est plus positionnée l où elle doit être.

Alors ma question est : Comment créer la même chose que les Filtres automatiques ? C'est à dire ces liste déroulantes attachées
à une celulle en particulier ???

Merci de votre patience et de votre aide !!

3 réponses

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
Tu t'embêtes là à essayer de coder. Excel permet de faire ça de lui même.

Tu prends une feuille sur laquelle tu marques le contenu de ta liste déroulante.
Ex :
A1 = Retrait
A2 = Versement
A3 = Virement

Ensuite, tu sélectionnes ta zone (de A1 à A3 donc)
Tu vas dans le menu Insertion \ Nom \ Définir et tu donnes un nom à la zone (Opérations par exemple).

Ensuite, tu vas sur ta cellule où tu veux donner le choix :
Tu vas dans le menu Données \ validation
Comme critère de validation, dans la combo Autoriser, tu prends le choix Liste et en source tu tapes "=" et le nom de ta zone (dans mon exemple, la source : =Opérations

Tu valides et voilà, le tour est joué.

Molenn
3
Merci

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

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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
Salut
Regarde voir du côté des Filtres automatiques :
Dans la cellule juste au dessus de la colonne qui t'interesse, insères le texte, par exemple "Nature"
Ensuite, met ton curseur sur cette cellule et va dans le menu Données, Filtre, Filtre automatique.
Cette cellule possedera alors le petit triangle de la liste déroulante et quand tu cliques dessus, ... tu verras bien.
Si tu veux reproduire ça en code VBA, refait cette manipulation après avoir lancé l'enregistrement d'une nouvelle macro. Ensuite, va jeter un oeil au code et tu verras qu'il suffit de :
- Sélectionner une cellule d'entête de colonne
- de mettre derrière la commande Selection.AutoFilter
Cette commande est affectée à la feuille, donc si tu as plusieurs colonnes à traiter, sélectionne toutes les cellules d'entête puis active l'AutoFilter.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
11
Date d'inscription
lundi 7 juillet 2008
Statut
Membre
Dernière intervention
22 juillet 2008

Bonjour,
 je suis daccord c bcp plus simple sur exel,
parcontre cette procedure ne permet pas de selectionne plusieurs choix

pour avoir une liste à choix multiple là il faudra passe par  une macro  e une userforme, dailleurs j'ai une question la dessus : comment arriver à a voir tout les choix selectioné dans la mme cellule . et comment faire declencher la fenetre à partir  de la cellule d'ou l'on click?

 cordialement,