Eviter les doublons dans une comboBox vba et appliquer un filtre

  • Initiateur de la discussion Initiateur de la discussion Vilain
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Vilain

XLDnaute Accro
Bonjour à tous,

Je sollicite une fois de plus vos connaissances et compétences.
Je souhaite utilisé une comboBox pour afficher une liste déroulante qui permettra de filtrer mon deuxième onglet en fonction de la valeur choisie.

J'ai 2 problèmes :

-je ne parviens pas à enlever les doublons dans le filtre automatique (et ce malgré différents éléments de réponse que j'ai trouvé mais que je ne parviens pas à appliquer à mon cas).

-Je ne parviens pas à filtrer selon la valeur choisie. Je souhaiterai faire de la valeur choisi une variable mais n'y parviens pas.

D'avance merci pour l'aide apportée et les solutions proposées.
 

Pièces jointes

Dernière édition:
Re : Eviter les doublons dans une comboBox vba et appliquer un filtre

Merci beaucoup, cela correspond parfaitement à ce que je veux faire.
pourrais tu me détailler les étapes que tu as suivis pour en arriver la, que je puisse réutiliser cette méthode à l'avenir plutôt que de redemander à chaque fois.
Merci beaucoup pour la réponse de qualitié et pour la rapidité.
 
Re : Eviter les doublons dans une comboBox vba et appliquer un filtre

Après une longue analyse de ton exemple, je ne comprend toujours pas comment tu t'y es pris. un "pas à pas" m'aiderait beaucoup à pouvoir réutiliser cette méthode.

De plus, j'ai une petite demande supplémentaire. Je vais utiliser cette solution pour au moins une combobox supplémentaire sur le même userform. Ainsi, les filtres se feront sur 2 colonnes différentes. Est-il possible de gérer le fait que je ne sélectionne une valeur dans seulement une des deux box. Par conséquent, le filtre s'appliquerait dans un cas sur la valeur choisie et dans l'autre sur "". De ce fait, je n'aurai plus aucune donnée. Est-il possible de dire que si aucune valeur n'est saisi, alors il ne faut pas filtrer ?

Encore une fois merci à tout ceux qui prendront le temps de se pencher sur mon problème. 🙂
 
Re : Eviter les doublons dans une comboBox vba et appliquer un filtre

Bon, après une journée de galère 🙂mad🙂, voici où en est mon fichier. J'ai essayé d'appliquer la méthode expliquée ci-dessus pour ma 2e combobox, mais cela ne fonctionne pas, les listes sont vides, même celle qui fonctionnait jusque la... 😕
Je ne cherche pas à ce qu'on fasse ce boulot à ma place mais je cherche à comprendre car je suis régulièrement confronté à ce genre de demande.

Une âme charitable pourrait m'expliquer ?
 

Pièces jointes

Re : Eviter les doublons dans une comboBox vba et appliquer un filtre

Bonsoir Gillus, bonsoir le forum,

Première remarque : tu as renommé la procédure Initialize de l'Userform1 : "UserForm1_Initialize". Erreur grave ! Quel que soit le nom que tu donnes à une userform la procédure sera toujours : Userform_Initialize... Si tu renommes, le code inscrit dedans n'est même pas lu puisque cette procédure n'existe pas pour VBE... Tu ne risquais pas d'alimenter les comboboxes !

D'autre part, je fais très souvent l'effort de commenter mes codes mais comme je l'ai indiqué dans la version 1, ce code est de Jacqus BOISGONTIER et je ne le maîtrise absolument pas. Je t'ai même mis l'adresse de son site pour que tu puisse y jeter un coup d'œíl. Je l'utilise car il est performant et fiable mais je suis incappable de l'écrire de tête. Je l'ai quand même commenté dans la version 2 en mettant des points d'interrogation quand je ne connaissais pas.

Deuxième remarque : dans ton exemple, si tu filtres en colonne H avec un critère et en I avec un critère (qui ne correspond pas au critère de la colonne H (2 et a par exemple), il est normal qu'à l'arrivée tout soit masqué...

Je pense qu'au changement de la ComboBox1 cela devrait alimenter la ComboBox2 avec uniquement les valeurs en colonne H correspondantes au filtre de la colonne I.
Je pense aussi que l'inversion des positions (ComboBox1 pour la colonne I = 9 et ComboBox2 pour la colonne H = 8) entre le tableau et l'ordre des combobxes est plus que pénible, je dirais même carrément chiante si j'étais grossier (heureusement je le suis)...

En pièce jointe une version 2 commenté. J'ai supprimmé des variables inutiles et renommé celles qui me semblaient trop longues.
Quand j'écris le code, si je définie une variable comme ça :
Code:
Dim la_dernière_cellule_de_la_colonne_A_de_l_onglet_Feuil1 As Range
Je dois le retaper chaque fois que je veux faire appel à cette variable... dl me parait plus judicieux...
 

Pièces jointes

Re : Eviter les doublons dans une comboBox vba et appliquer un filtre

Bonjour à tous, bonjour Robert.

Merci beaucoup pour toutes ces explications qui m'ont permis d'adapter cet exemple à mon cas. Je suis allé voir le site de Jacques BOISGONTIER qui est très bien fait et complet bien qu'un peu "foutoir".

Je prend note de tes remarques, mais utilisant VBA depuis peu je préfère pour l'instant avoir des noms bien explicites pour ne pas me perdre.

Encore merci Robert et merci à tous de contribuer au super déroulement de la vie de ce site. 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
912
Réponses
13
Affichages
671
Retour