Petit probleme de combobox

Bonjour à tous.
J’espère que tout le monde va bien malgré ce maudit confinement qui pèse à vous comme à moi.

J’aimerais, aujourd’hui vous exposer un petit problème de combobox que je n’ai toujours pas encore réussi à résoudre.

Je tacherai de progresser pas à pas pour que vous puissiez comprendre mon petit problème.

Mon classeur Excel comporte 2 feuilles :
Mon Userform comporte juste 2 combobox :

  • combobox1 pour les types
  • combobox2 pour les Aliments

Peupler les combobox n’est pas un problème.
Une première procédure (PeuplerType) renseigne combobox1
La seconde combobox est alimentée par une variable Tableau.

Au lancement de mon Userform,
Si je selectionne un type, ma combobox2 filtre en fonction du type choisi.
Jusqu’ici, tout va bien.
Si je ne selectionne aucun type, ma combobox2 affiche tous les Aliments.
C’est ce que je voulais.

A partir de là, je souhaiterais, lorsque ma Combobox1 est vide et que je selectionne un aliment dans ma Combobox2, que ma combobox1 se mette à jour.
J’utilise donc une fonction qui va interroger ma variable Tableau ainsi qu’un bout de code sur l’évenement Change de ma Combobox2.

Ma Combobox1 se met bien à jour mais le soucis c’est que ma Combobox2 reste vide.
Le soucis vient de ma ligne de code ComboBox2.Clear dans mon Sub PeuplerAliments, qui vide celle-ci avant de la peupler.
J’ai beau tout essayer, pas moyen de contourner le problème.
Je suis certain que c’est ultra bateau et j’ai vraiment honte de faire appel à la communauté pour si peu. Mais là, franchement, je sèche.

Si une âme charitable aurait quelque suggestion à me soumettre, je lui en serait reconnaissant.

Bonne soirée à tous et longue vie à Excel.

Test_2CBO.xlsm (20,6 Ko)

Bonjour

Ton fichier ci-joint adapté
J’ai rajouté une macro « Formulaire » pour le déclencher très utile pour faire des essais

Dis moi si cela te convient

Test_2CBO.xlsm (24,7 Ko)

Bonjour FFO et merci pour ta réponse.
J’avais déjà tenté cette approche avec un code similaire.
Le soucis c’est que ; si ensuite je sélectionne un nouveau type dans combobox1, la valeur est conservée dans combobox2. Je ne sais pas si je suis assez clair.

Pour info, Kiwi n’est pas un légume mais un fruit. Honte à moi, gros nul que je suis. :face_with_raised_eyebrow:

Nouvelle version corrigé
Je pense que cela devrait être bon cette fois-ci

Dis moiTest_2CBO.xlsm (26,0 Ko)

Magnifique. Juste ce que je souhaitais. Bravo FFO.
Mais aurais-tu la gentillesse de m’expliquer en quelque mots ce que tu fais avec Catégorie.
Je suis novice en Excel et je ne comprends pas très bien ta construction.
Jusqu’ici je n’avais encore jamais vu ça et l’aide d’Excel est assez obscure. :thinking:
En tout cas, Merci beaucoup pour ton aide. Je te donne 20/20. :grin:

Salut FFO.
Je pense avoir pigé la subtilité de ton code.
J’ai fais quelques modifications afin d’utiliser la fonction que j’avais mis au point.
J’ai modifié la ligne Catégorie comme suit ;

catégorie = RechercheValCBO(ComboBox2, Aliments, 2, 1)

J’aurais voulu avoir ton opinion. Vu que tes compérences en VBA dépasse largement les miennes.

Bon Dimanche à toi.

L essentiel c est le résultat si il te convient avec ta solution gardes la en lieu et place de la mienne
Ton code correspond à ton approche que donc tu maîtrises mieux
Tous les chemins mènent à Rome
Conserves toujours au chaud ma proposition au cas où

Au plaisir de tendre la main

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.