Combobox en cascade dans un userform

Y compris Power BI, Power Query et toute autre question en lien avec Excel
C
Cedcel85
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 janvier 2017
Version d'Excel : 2013

Message par Cedcel85 » 25 février 2017, 12:39

Bonjour,

Je souhaite faire un fichier excel qui me servira à gérer mon armoire de produits chimique.

Page 1 : Une base de données fixe qui représente la liste exhostive des produits chimiques que je peux avoir avec diverses info sur ces derniers (risques, péremption, fournisseurs, commentaires...)
Page 2 : La liste des produits chimiquesqui se trouve dans l'armoire avec le rappel des risques entres autres la quantité en stock actuelle.

Dans mon userform Frm_appro, j'aimerais que mes deux combobox (cbo_recherche_intitulé et Cbo_Taille_Contenant) soit liées.

J'aimerais que la combobox "cbo_recherche_intitulé" pioche ses résultats sans doublons dans la colonne "Libéllé 1" de mon tableau "Armoire produit chimque" et que ma combobox "Cbo_Taille_Contenant" me propose les résultats en conséquences qui se trouve dans la colonne "Quantité par contenant (ml/g)"

J'ai essayé 1001 façons de faire, j'ai toujours des bugs.
Si qqun a une solution pas trop compliqué je prend :-)

Un grand merci d'avance.

PS : Si je n'ai pas été clair dans mon explication, je suis à votre disposition.
Fichier pour Aline2 en test 3.xlsm
(153.85 Kio) Téléchargé 46 fois
U
U. Milité
Membre impliqué
Membre impliqué
Messages : 1'648
Appréciations reçues : 98
Inscrit le : 30 novembre 2016
Version d'Excel : Office 365

Message par U. Milité » 25 février 2017, 14:58

Bonjour,

Difficile de s'y retrouver, pour certains points:
- ton code mentionne un "cbo_Recherche_CAS" ... dont je n'ai pas trouvé trace dans ton UserForm Frm_Appro
- dans ta "Sub cbo_recherche_intitulé_Change", tu testes le contenu de ta "cbo_recherche_intitulé". Tu vérifies si cbo_recherche_intitulé<>"" et , si le résultat du test est faux ... tu effaces son contenu (mais si elle n'est pas différente de "" ... c'est qu'elle est déjà vide, non? :? )
- la première ligne de ton tableau Armoire_Chimique est masquée ... il y a une raison précise?

Pour répondre à ta question, au lieu de définir la propriété RowSource de ta ComboBox, tu peux utiliser l'événement Initialize de ton UserForm, pour "garnir" cette liste:
Private Sub UserForm_Initialize()
Set liste = CreateObject("scripting.dictionary")
For Each c In [Liste_Produits_Armoire]
    liste(c.Value) = ""
Next c
Me.cbo_recherche_intitulé.List = liste.keys
End Sub
L'utilisation d'un objet "Dictionary" permet de gérer facilement les doublons.

Pour la suite, à quel moment vas-tu "garnir" ta liste des tailles de contenant? Il semblerait logique de ne le faire qu'à la sélection d'un item dans la liste "cbo_recherche_intitulé"? Qu'en penses-tu?
Précise aussi ce que fera ce bouton "préremplir" que tu actives ou désactives?
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'668
Appréciations reçues : 346
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 25 février 2017, 15:12

Bonjour à tous

Un essai à tester. Te convient-il ?
Bye !
Fichier pour Aline2 en test 3 v1.xlsm
(167.1 Kio) Téléchargé 108 fois
C
Cedcel85
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 janvier 2017
Version d'Excel : 2013

Message par Cedcel85 » 26 février 2017, 17:52

Merci à vous deux,

Tu as fait un excellent travail Gmb, je n'en espérait pas tant.
Du coup j'en profite pour te re-solliciter.

A vrai j'aimerais encore ajouter l'élément "Cbo_Date_Péremption" dans la cascade de combobox après le choix de la quantité du contentant.

Par contre j'ai remarqué qu'il ne me prenait jamais en compte la première ligne.
Et j'aimerais si celà est possible que la listbox affiche tout les doublons même quand je continue mon tri avec les combobox.

Ensuite quand je valide une entrée ou une sortie, il va systématiquement me prendre la première ligne du libéllé qu'il a trouvé
et non la ligne concernée pour faire la modification dans le tableau.

Peux tu corriger ce problème ? (pour par dire "ces")

PS : Bien sur si qqun a des propositions d'aide je ne retiens personne :-)

Un grand grand merci encore une fois.
Fichier pour Aline2 en test 3 v1.xlsm
(183.79 Kio) Téléchargé 38 fois
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'668
Appréciations reçues : 346
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 1 mars 2017, 11:02

Bonjour

Nouvelle version.
Bye !
Fichier pour Aline2 en test 3 v2.xlsm
(162.88 Kio) Téléchargé 46 fois
C
Cedcel85
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 janvier 2017
Version d'Excel : 2013

Message par Cedcel85 » 1 mars 2017, 16:14

Bonjour,

Alors on avance petit à petit, je suis très content de l'implication de certains d'entres vous.
A priori les filtres en cascades fonctionnent avec les 3 combobox. :)

En ce qui concerne la listbox, j'aimerais qu'elle se garnisse en fonction de ce que je met dans la combobox "cbo_recherche_intitulé"
sans prendre en compte le changement des autres.

En ce qui concerne le bouton ajouter, j'aimerais que lorsque je clique dessus il se passe

- Dans le cas où je ne change rien à la date de péremption : j'incrémente le nombre qui est dans la ligne concernée par le tri des combobox.

- Dans le cas où je change manuellement la date de péremption : Une ligne s'ajoute au tableau avec les diverses infos.

Encore une fois si je ne me suis pas fait comprendre, je suis à votre disposition.

Un grand merci encore une fois :)
Fichier pour Aline2 en test 3 v2.xlsm
(161.13 Kio) Téléchargé 24 fois
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'668
Appréciations reçues : 346
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 1 mars 2017, 20:53

Nouvelle version.
Quand tu écris :
Dans le cas où je ne change rien à la date de péremption : j'incrémente le nombre qui est dans la ligne concernée par le tri des combobox.
...je ne vois pas de quel nombre et de quelle ligne tu parles.
Bye !
Fichier pour Aline2 en test 3 v3.xlsm
(160.8 Kio) Téléchargé 33 fois
B
BETCAMS
Nouveau venu
Nouveau venu
Messages : 3
Inscrit le : 2 mars 2017
Version d'Excel : 2016

Message par BETCAMS » 2 mars 2017, 10:40

voici 4 combobox en 1
merci
COMBOBOX EN CASCADE.xlsm
(122.74 Kio) Téléchargé 106 fois
C
Cedcel85
Jeune membre
Jeune membre
Messages : 16
Inscrit le : 21 janvier 2017
Version d'Excel : 2013

Message par Cedcel85 » 2 mars 2017, 11:58

Bonjour,

Ce que tu as fais avec la liste box, c'est exactement ce que je veux, je t'en remercie beaucoup.

En fait dans mon tableau "Armoire produit Chimique" il peut y avoir des produits avec la même taille de contenant mais avec différentes dates de péremption.

Donc en gros quand j'ajoute un produit je suis confronter à un choix :

Soit la date de péremption est la même et j'ai juste à cliquer sur ajouter et dans ce cas il va m'additionner la quantité arrivée "txt_Quantité_Arrivée" à la colonne "Nombre de contenants" sur la ligne correspondante à mon choix c'est à dire celle qui correspond à mon filtre des 3 combobox.

Soit je change la date manuellement et dans ce cas quand je clique sur ajouter j'aimerais qu'il m'ajoute simplement la ligne avec les info à la suite du tableau.

Est ce que j'ai réussis à t'éclairer ?
Merci beaucoup encore
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'668
Appréciations reçues : 346
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 2 mars 2017, 15:52

Bonjour

Nouvelle version
Bye !
Fichier pour Aline2 en test 3 v4.xlsm
(173.22 Kio) Téléchargé 112 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message