Affichage du contenu du magasin et des codes d'articles dans ListBox2

Lorsque je choisis le nom du magasin, il affiche tous les éléments en double et les éléments avec leurs différentes autorisations dans la ListBox 2, spécifique à l'inventaire.

Cependant, lorsque je choisis un code de catégorie spécifique, il est censé afficher toutes les différentes autorisations pour cette catégorie et annuler toutes les catégories dans ListBox 2 pour cette boutique, mais cela ne fonctionne pas.

Il suffit d'afficher ce code uniquement afin de réduire la quantité disponible à la date la plus proche, sachant qu'il existe d'autres quantités pour cet article.

Si vous voyez l'image répertoriée, vous la trouverez affichant tous les articles avec leurs différentes expirations dans le magasin dans ListBox 2

Ce qui est requis lors du choix du code article, par exemple 102, est affiché uniquement dans la zone de liste 2. 102 articles avec toutes leurs expirations et la quantité à distribuer avec la validité la plus proche à inclure dans la zone de liste 1

C'est le code qui est censé afficher uniquement ce que le code article requiert. Me.CB_Pièce

If Me.ComboBox1.ListIndex = 0 Or Me.CB_Pièce.ListIndex = 0 _

Or FlgExit = True Then Exit Sub

Call Charge_ListBox

Lorsque je choisis une boutique spécifique, tous les articles disponibles avec leur validité dans cette boutique sont affichés dans la ListBox2, et c'est ce qui a déjà été fait.

Cependant, lorsque je choisis le code d'un article trié particulier, toutes les quantités avec ce code sont affichées dans la List Box 2 avec leurs différentes dates de péremption, et si cela n'est pas fait

Le code est un filtre entre

ComboBox1 & CB_Pièce

Private Sub ComboBox1_Change()
Dim Ind As Long, Lig As Long
  If Me.ComboBox1.ListIndex = -1 Then Exit Sub
  ' Empêche le chargement de la listbox
  FlgExit = True
   Me.ListBox2 = ""
   Me.ListBox2.Clear
 ' Me.CB_Pièce.Clear
  Me.catetr = ""
CB_Pièce.Clear
  For Lig = 1 To [T_BD].Rows.Count
    If [T_BD].Item(Lig, 5) = Me.ComboBox1.value Then
      Me.CB_Pièce.value = [T_BD].Item(Lig, 1)
      If Me.CB_Pièce.ListIndex = 0 Then
        Me.CB_Pièce.AddItem [T_BD].Item(Lig, 1)
      End If
      With Me.ListBox2  ' Avec l'objet conteneur
        .AddItem [T_BD].Item(Lig, 1)
        Ind = .ListCount - 1 ' Quel nouvel indice
        .List(Ind, 1) = [T_BD].Item(Lig, 2)
        .List(Ind, 2) = [T_BD].Item(Lig, 4)
        .List(Ind, 3) = [T_BD].Item(Lig, 5)
        .List(Ind, 4) = Format([T_BD].Item(Lig, 9), "DD/MM/YYYY")
        'Format(Me.ListBox2.Column(4), "DD/MM/YYYY")
      End With
    End If
  Next
  Me.CB_Pièce.ListIndex = -1
  ' Remet le Flag normalement
  FlgExit = False
Quantitetr = "": If catetr = "" Then Exit Sub
Call MajStkProv: ListMagD
'CB_Pièce = ""
End Sub
Private Sub CB_Pièce_Change()
Sheets("Stock").Activate
    On Error Resume Next
   'ComboBox2.Clear
Me.stocktr.Enabled = False
  Quantitetr = ""
   catetr = "": stocktr = "" ': TextBox1 = ""
   With ComboBox1
     ' .Clear
      If CB_Pièce = "Entrez le code produit" Then
         .AddItem "Du magasin": .ListIndex = 0: Exit Sub
      End If
      Dim i&
      For i = 1 To UBound(TblInv)
         If TblInv(i, 1) = CB_Pièce.Text Then
          '  .AddItem TblInv(i, 5)
            If catetr = "" Then catetr.Text = TblInv(i, 2)
            If stocktr = "" Then stocktr = TblInv(i, 4)
If Me.OptionButton1 = True Then
       If TextBox1 = "" Then TextBox1 = ""
ElseIf Me.OptionButton2 = True Then
    If TextBox1 = "" Then TextBox1 = Format(TblInv(i, 9), "DD/MM/YYYY")
End If
        End If
      Next i
      '.ListIndex = 0
   End With
Me.stocktr.Enabled = False
Quantitetr.SetFocus
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 If Me.ComboBox1.ListIndex = 0 Or Me.CB_Pièce.ListIndex = 0 _
    Or FlgExit = True Then Exit Sub
    Call Charge_ListBox
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End Sub
Sub Charge_ListBox()
  Dim i As Long
  'Me.ListBox2.Clear
  For i = 1 To [T_BD].Rows.Count
    If [T_BD].Item(i, 5) = Me.ComboBox1.value Then
      If [T_BD].Item(i, 1) = Me.CB_Pièce.value Then
        Me.ListBox2.AddItem [T_BD].Item(i, 1)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 1) = [T_BD].Item(i, 1)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 2) = [T_BD].Item(i, 2)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 3) = [T_BD].Item(i, 4)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 4) = [T_BD].Item(i, 5)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 5) = [T_BD].Item(i, 9)
       ListBox2.ColumnWidths = "60,60,50,70,70,0"
     End If
    End If
  Next
End Sub
compress 4876 jpg c76965e453b5041e90b2be1bb919017c

Le problème persiste toujours

Bonjour,

aidez-moi s'il vous plaît et révisez le code

Est-ce qu'il y a quelqu'un qui peut m'aider?

Y a-t-il un problème avec le code, qui consiste à filtrer entre 2 combobox et à afficher les résultats dans la Listbox 2 ?

Bonsoir

Y a-t-il un problème dans la compréhension du contenu du code qui doit être implémenté dans ce fichier ?

Bonjour mando200,

Le souci provient du format des données au moment de leurs comparaisons.

En appliquant un format "nombre entier" aux deux données comparées, la condition peut se vérifier correctement.

Une seule ligne à modifier :

If [T_BD].Item(i, 1) = Me.CB_Pièce.value Then

modifiée ainsi

If CInt([T_BD].Item(i, 1).value) = CInt(Me.CB_Pièce.value) Then

Sub Charge_ListBox()
  Dim i As Long
  Me.ListBox2.Clear
  For i = 1 To [T_BD].Rows.Count
    If [T_BD].Item(i, 5) = Me.ComboBox1.value Then
      If CInt([T_BD].Item(i, 1).value) = CInt(Me.CB_Pièce.value) Then ' << Bizz
        Me.ListBox2.AddItem [T_BD].Item(i, 1)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 1) = [T_BD].Item(i, 1)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 2) = [T_BD].Item(i, 2)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 3) = [T_BD].Item(i, 4)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 4) = [T_BD].Item(i, 5)
        Me.ListBox2.List(Me.ListBox2.ListCount - 1, 5) = [T_BD].Item(i, 9)
       ListBox2.ColumnWidths = "60,60,50,70,70,0"
     End If
    End If
  Next
End Sub

Bizz

Merci Bizarre

il travaille

Rechercher des sujets similaires à "affichage contenu magasin codes articles listbox2"