Un combobox commandé par un autre combobox [Résolu]

Signaler
Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021
-
Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021
-
Bonjour,
je vous prie de m'aider à corriger les 3 codes en attache pour atteindre les résultats ci-après:
J'aimerais que
1. Le combobox5 n' affiche que la liste des produits vendus.
2.Et à chaque sélection de produits vendus (au combobox 5), qu'il affiche au (combobox 4) uniquement les dates auxquelles ces produits sont vendus.
3.Enfin à chaque sélection de la date (combobox 4), qu'il affiche la quantité de produits vendus ou perdus à travers les textbox1 et textbox2,
Pourriez-vous si possible m'aider à corriger ces codes qui semble avoir un problème de matching.
Les Liens des fichiers:
https://www.cjoint.com/c/KBzwih5E1QQ
https://www.cjoint.com/c/KBzwok7k4QQ

Merci

9 réponses

Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021

Y-A-T-IL une suite par rapport à ce sujet?
Messages postés
10093
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 juin 2021
1 156
Bonjour,
Eh bien là c'est difficile de comprendre votre problème, alors patience et merci de préciser:
.-1. Le combobox5 n' affiche que la liste des produits vendus. ___Est-ce sur un jour ou pour tous les jours du mois ?
La suite en dépand et en plus vous utilisez des cellules fusionnées pour les dates se qui complique sérieusement le travail.
Note pas sur que votre demande est réalisable... à voir!
.-
Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021

Bjr, je m'explique, je veux que je combobox 5 soit alimenté de façon à n'afficher que les produits qui sont vendus au cours du mois.(et non toute la liste des produits) et quand on sélectionne un produit, il faudra que le combobox4 soit alimenté pour n'afficher que les dates auxquelles le produit sélectionné à été vendu. Oui j'ai utilisé les cellules fusionnées, mais pourriez-vous considérer les cellules concernées par lles dates. Merci
Messages postés
10093
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 juin 2021
1 156
Bonjour,
Exemple pour la combobox4 :
Je choisi combobx5 = produit-1 et j’aurai dans la liste de combobox4 unique ment le 01-jan-21
Est-ce bien cela selon votre fichier Oui / Non

Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021

Bonjour,
Si je choisis combobox5=produit-1, il faudra que dans la liste de combobox4, je puisse avoir une ou toutes les dates auxquelles le produit-1avait été vendu. S'il a été vendu uniquement le 1/1/2021, c'est cette date qui doit apparaître, si c'est le 1/1/2021 et 3/01/2021, ces deux dates devront apparaître et à son tour le combobox4, quand on sélectionne une date, on doit afficher les quantités vendus au textbox1. Merci
Messages postés
10093
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 juin 2021
1 156
Bonjour,
Je vous ai corrigé les procédures * UserForm_Initialize(), ComboBox5_Change() et ComboBox4_Change(). En plus j’ai supprimer les cellules fusionnées pour que les macros fonctionnent correctement et j’ai ajouter une plage (G13 :G23) pour récupérer la somme des produits vendus nécessaire à la procédure * UserForm_Initialize()* pour la liste de produits actifs.
Votre fichier : https://mon-partage.fr/f/tWv7hfnG/

Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021

Bonjour cher Le Pingou,
Je te remercie sincèrement pour ta solution. C'est un code simple avec moins de ligne possible. Il marche parfaitement. Toutefois j'aimerais avoir qlq explications sur ce qui suit:
1. Combobox 5_Change:
Que signifie cette ligne:
Me.combobox4.clear:Me.combobox4.clear

2. Combobox4_Change:
-Le rôle du paramètre CLng dans la ligne svte:
Co=application.match(CLng(dat), .rows(3),0)
-Le rôle du paramètre Offset dans:
Me.tbx.perdu=cells(li, co). Offset(0,1). value

Merci encore, aussi si tu as un lien pour mieux apprendre le VBA, tu peux partager
Merci.
dm
Messages postés
10093
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 juin 2021
1 156
Bonjour,
Merci du retour, content pour vous.

Que signifie cette ligne:
Me.combobox4.clear:Me.combobox4.clear

Par précaution on vide les 2 contrôles ‘Combobox’

2. Combobox4_Change:
-Le rôle du paramètre CLng dans la ligne svte:
Co=application.match(CLng(dat), .rows(3),0)

Lors que l’on travail avec des dates il est recommandé de forcer une expression à un type de données (type : Double). La fonction *CLng* est donc utilisée.

Le rôle du paramètre Offset dans:
Me.tbx.perdu=cells(li, co). Offset(0,1). Value

‘Instruction permet de décaler (vertical, horizontal) pour obtenir l’élément désiré : ici la valeur pour produit perdu se trouve 1 case à droite de produit vendu donc: 0 car même ligne et 1 car une position à droite.

Note: merci de mettre le poste en RESOLU si c'est le cas!


Salutations.
Le Pingou
Messages postés
12
Date d'inscription
jeudi 31 octobre 2019
Statut
Membre
Dernière intervention
12 avril 2021

Merci beaucoup, God bless you!