Excel : Comment attacher une Liste déroulante à une cellule Excel ? [Résolu]

total_pipeau 1 Messages postés samedi 15 octobre 2005Date d'inscription 15 octobre 2005 Dernière intervention - 15 oct. 2005 à 11:46 - Dernière réponse : cs_mimi0 11 Messages postés lundi 7 juillet 2008Date d'inscription 22 juillet 2008 Dernière intervention
- 22 juil. 2008 à 10:25
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 !!
Afficher la suite 

3 réponses

Meilleure réponse
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 17 oct. 2005 à 12:00
3
Merci
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

Merci Molenn 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 15 oct. 2005 à 20:19
0
Merci
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)
cs_mimi0 11 Messages postés lundi 7 juillet 2008Date d'inscription 22 juillet 2008 Dernière intervention - 22 juil. 2008 à 10:25
0
Merci
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,

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.