Liste déroulante à choix multiple Excel 2010 VBA

Fermé
mlemag Messages postés 17 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 22 novembre 2014 - 7 déc. 2012 à 16:41
 Muriel - 21 avril 2016 à 15:34
Bonjour,

Je cherche à installer plusieurs listes déroulantes par rapport à une base de données se trouvant dans un autre tableau Excel pour obtenir des résultats dans un autre tableau.
Je précise que ma base de données n'est pas fixe et s'agandit régulièrement.

J'ai trouvé le moyen de faire plusieurs listes déroulantes avec la fonction NB.SI.ENS.

Mais j'ai 2 problèmes :

Le premier évoqué ci-dessus est le fait que ma base de données de figure pas sur le même classeur

Le deuxième c'est que cette fonction ne permet pas la multi sélection dans chaque liste déroulante.

l'idéal serait de réaliser une ou plusiers macro de ce type afin d'obtenir un résultat qui ressemblerait en fait aux résultats d'un tableau croisé dynamique
Si je n'utilise pas le ou les TCD c'est que je souhaite rendre ce 2ème tableau de résultat indépendant du premier afin de l'envoyer à une tierce personne et sur un tableau nettement plus présentable qu'un TCD.

Je précise que chaque résultat de chaque liste déroulante doivent se mettre à jour entre elles afin de mixer le tout pour obtenir le bon résultat dans son ensemble

Je vous joints ici mon exemple avec ce que j'ai réalisé avec mes formules car en macro je ne suis pas un génie loin de là.

https://www.cjoint.com/?BLhqtOqfyNi

Merci d'avance pour votre aide précieuse.

caredas


A voir également:

8 réponses

bonjour,

peut être que j'arrive un peu tard, mais bon si ça peut aider !!!

Pour le pb évoqué (recherche d'éléments dans un autre classeur), en VBA on peut utiliser le "GetObject".

Exemple:
Private Sub ComboBox1_DropButtonClick()
 Dim cl As Workbook
 Set cl = GetObject("C:\Users\******\autre classeur.xls")
 
Workbooks("autre classeur.xls").Activate
Sheets("feuil1").Activate
 
With Sheets("feuil1")
    ComboBox1.List = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
End With

End Sub


Pour cela, il faut inserer une combobox objet sur ta feuille et inserer le code vba à l'objet ... et bien entendu faire 2 -3 modifs au niveau des noms classeur et feuille!
si ça peut te donner un début....!!!

bon courage
0
mlemag Messages postés 17 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 22 novembre 2014 1
21 janv. 2013 à 14:14
bonjour boomer,

non non ce sujet est toujours d'actu, merci vivement pour vos conseils que je vais essayé d'appliquer.
Cordialement.

mlemag
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
21 janv. 2013 à 14:43
Bonjour,

sans VBA
liste de validation source autre classeur, classeur doit etre ouvert.
ex:
=[X.XLSX]Feuil1!$A$1:$A$10
0
mlemag,

je te poste une ébauche à cette adresse :

http://cjoint.com/?0AywfrsxQIg


J'espère compléter ta recherche !

Au plaisir
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mlemag Messages postés 17 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 22 novembre 2014 1
25 janv. 2013 à 10:12
Bonjour Boomer,

Alors là ! Chapeau ! On y est presque !
Merci beaucoup beaucoup pour cet exemple ! Je ferais des recherches sur le net pour savoir comment enlever les doublons, et concernant l'adaption à mon fichier, c'est à moi de prendre le relais après avoir été mis sur les bons rails avec vos explications pas à pas que j'ai aperçu dans VBA.
Un grand merci.

La dernière chose qui me permetra d'exploiter cet exemple à 100% c'est de pouvoir mettre à jour les combo l'un avec les autres.
Je m'explique avec l'exemple :
Lorsque je sélection les restos codifié en A dans la première combo, on remarque que le nombre de logiciels des restos codifié en A se calculent parfaitement, par contre. On note que les 2 restos de la BDD sont basés en FRA et en GER. Donc je teste la Combo Pays en sélectionnant ITA pour ne plus rien avoir dans la premières combo et malheureusement les chiffres de cette première combo ne se mettent pas à jour car ici je ne devrais pas avoir de résultat. Les combos ne se mettent donc pas à jour les unes avec les autres comme un filtre. Est ce possible ?

Autre chose, peut on avoir un champ blanc dans la combo si on souhaite sélectionner toutes les propositions d'une liste ou plutot pour ne pas à avoir à sélectionner un item si on ne le souhaite pas ?

Merci encore

mlemag
0
bien entendu, c'est possible !
il faut approfondir les recherches,
je regarde et j'essaie de mettre une piste...

boomer
0
mlemag,

j'espere que les corrections apportees t'aideront d'avantage

ci-joint le nouveau fichier

http://cjoint.com/?0ABwVA2E4Q5

bonne continuation

boomer
0
helpmexls Messages postés 3 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 7 mai 2013
7 mai 2013 à 12:00
Bonjour Boomer,
je suis en train de créer un fichier avec une liste déroulante à choix multiple.La liste fonctionne bien mais si j'oublie de cocher un élément et que je valide, à la prochaine ouverture de la liste, les sélections précédentes ont disparues. Aurais-tu une solution à mon problème?
Merci d'avance.
helpmexls
0
mlemag Messages postés 17 Date d'inscription jeudi 25 octobre 2007 Statut Membre Dernière intervention 22 novembre 2014 1
4 févr. 2013 à 12:09
Bonjour Boomer !

Désolé de revenir si tard mais un peu dans le jus en ce moment.
J'ai qq soucis pour ouvrir le fichier excel BDD... Mais d'après ce que j'ai vu sur les dérouleurs, ça semble être intéractif les uns avec les autres ! Génial ! Parfait !
Je vais essayé de mettre en pratique cet exemple !
Encore merci pour votre aide qui va me faire gagner beaucoup de temps.
Cordialement

mlemag
0
Bonjour,

Je suis interessée par la solution mais le problème est que le fichier n'est plus disponible.
Quelqu'un aurait la gentillesse de le remettre ? sinon je vais continuer à chercher le code.

Merci,

Muriel
0