L'affichage des données en textbox, commandés par un combobox

Résolu/Fermé
dmutambay Messages postés 25 Date d'inscription jeudi 31 octobre 2019 Statut Membre Dernière intervention 10 août 2023 - Modifié le 18 janv. 2021 à 12:20
dmutambay Messages postés 25 Date d'inscription jeudi 31 octobre 2019 Statut Membre Dernière intervention 10 août 2023 - 19 janv. 2021 à 19:54
Bonjour,
Dans fichier joint, le combobox: 'liste des produits vendus' est alimenté par le combobox 'jour' à l'aide de l'instruction AddItem affiche la liste des produits vendus à une date précise. Normalement à chaque sélection de produit, suivant le code VBA ci après, il afficherait la quantité de produits vendus et la quantité de produits perdus à travers les 2textbox, malheureusement il n'affiche qu'en cas de sélection du produit 1, vendu le 1/1/2021 et non en cas de produits 2 vendu le 2/01/2021. Pourriez-vous si possible m'aider à corriger le code pour afficher tous les cas possibles.
Merci
Voici le code:
'En sélectionnant le produits vendu, je dois afficher la qté vendu et la qté perdue
Private Sub ComboBox4_Change()
ligne = ComboBox4.ListIndex + 14
col = ComboBox5.ListIndex * 4 + 7 
' en cas de non vente, ne rien afficher sur les textbox1 ( qté produits vendus ) et textbox2 (qté produits perdus)
If Me.ComboBox4 <> Sheets("jan_21").Cells(ligne, 2).Value Then
TextBox1.Value = ""
TextBox2.Value = ""
' Dans le cas contraire ( en cas de vente) afficher les qtés vendues
'c'est ici que se pose le probleme, en cas de vente à partir du 2e produit, le résultat sur textbox1 et 2 n'affiche pas
Else
TextBox1.Value = Sheets("Jan_21").Cells(ligne, 7).Value
TextBox2.Value = Sheets("Jan_21").Cells(ligne, 8).Value
End If
End Sub


Lien du fichier:

https://www.cjoint.com/c/KAromdhGDgo
A voir également:

4 réponses

danielc0 Messages postés 1375 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 10 janvier 2025 157
18 janv. 2021 à 14:16
Bonjour,

A quoi sert la variable "col" ? Apparemment, l'erreur vient d'elle.

Cordialement.

Daniel
0
dmutambay Messages postés 25 Date d'inscription jeudi 31 octobre 2019 Statut Membre Dernière intervention 10 août 2023
19 janv. 2021 à 08:35
Bonjour Daniel, la variable col représente la colonne qui correspond à la date, avez-vous une proposition qui permettra de résoudre le problème? Merci de la donner.
0
danielc0 Messages postés 1375 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 10 janvier 2025 157
19 janv. 2021 à 09:57
Dans COmbbobo4_Change, mets :

ligne = Application.Match(Me.ComboBox4.Value, Sheets("Jan_21").[B:B], 0)

au lieu de
ligne = ComboBox4.ListIndex + 14


Mets :

TextBox1.Value = Sheets("Jan_21").Cells(ligne, col).Value
TextBox2.Value = Sheets("Jan_21").Cells(ligne, col + 1).Value

au lieu de
TextBox1.Value = Sheets("Jan_21").Cells(ligne, 7).Value
TextBox2.Value = Sheets("Jan_21").Cells(ligne, 8).Value


Daniel
0
dmutambay Messages postés 25 Date d'inscription jeudi 31 octobre 2019 Statut Membre Dernière intervention 10 août 2023
19 janv. 2021 à 19:54
Bonjour Daniel, je viens de tester ta solution, elle a marché parfaitement bien.
Bien-entendu j'ai dû également remplacer la condition que voici:

If Me.ComboBox4 <> Sheets("jan_21").Cells(ligne, 2).Value Then

Par

If Me.Combobox4 = "" Then

Je te remercie infiniment, et que Dieu te bénisse! A la prochaine!
0