Microsoft 365 Listbox alimentée par Combobox

eric72

XLDnaute Accro
Bonjour à tous,
J'ai récupéré un code grâce aux nombreuses vidéos proposées, j'ai donc crée un userform pour modifier un "produit" dans lequel j'ai mis un listbox qui s'alimente à l'ouverture, mais j'aimerais pouvoir l'alimenter lorsque je choisis un fournisseur dans ma combobox, et là JE BLOQUE.
Quelqu'un aurait il une solution à me proposer( je suis pas top en vba).
Merci d'avance pour votre dévouement.
Eric
 

Pièces jointes

  • Gestion Fournisseurs, Produits et Prestations test .xlsm
    276 KB · Affichages: 17

danielco

XLDnaute Accro
Le liste du combobox est toujours aussi vide :
Capture d’écran 2021-07-29 162951.png

Daniel
 

danielco

XLDnaute Accro
OK. Ajoute cette macro dans le userform :

VB:
Private Sub CbFournisseur_Change()
  Me.ListView1.ListItems.Clear
  derligne = Feuil3.Cells(Rows.Count, 3).End(xlUp).Row
 
  For i = 2 To derligne
 
      Critere = Feuil3.Cells(i, 12)
      Select Case Critere
 
          Case Is <> ""
              Couleur = RGB(255, 0, 0)
          Case Is = ""
              Couleur = RGB(0, 0, 0)
 
      End Select
        If Feuil3.Cells(i, 3) = Me.CbFournisseur.Value Then
          Set Item = ListView1.ListItems.Add(Text:=Feuil3.Cells(i, 1))
          Item.ForeColor = Couleur
          Item.SubItems(1) = Feuil3.Cells(i, 2)
          Item.ListSubItems(1).ForeColor = Couleur
          Item.SubItems(2) = Feuil3.Cells(i, 3)
          Item.ListSubItems(2).ForeColor = Couleur
          Item.SubItems(3) = Feuil3.Cells(i, 4)
          Item.ListSubItems(3).ForeColor = Couleur
          Item.SubItems(4) = Feuil3.Cells(i, 5)
          Item.ListSubItems(4).ForeColor = Couleur
          Item.SubItems(5) = Format(Feuil3.Cells(i, 6), "0Kg")
          Item.ListSubItems(5).ForeColor = Couleur
          Item.SubItems(6) = Format(Feuil3.Cells(i, 7), "# ##0.00 €")
          Item.ListSubItems(6).ForeColor = Couleur
          Item.SubItems(7) = Feuil3.Cells(i, 8)
          Item.ListSubItems(7).ForeColor = Couleur
          Item.SubItems(8) = Format(Feuil3.Cells(i, 9), "0Kg")
          Item.ListSubItems(8).ForeColor = Couleur
          Item.SubItems(9) = Feuil3.Cells(i, 10)
          Item.ListSubItems(9).ForeColor = Couleur
          Item.SubItems(10) = Feuil3.Cells(i, 11)
          Item.ListSubItems(10).ForeColor = Couleur
          Item.SubItems(11) = Format(Feuil3.Cells(i, 12), """Commander")
          Item.ListSubItems(11).ForeColor = Couleur
        End If
      Next
End Sub

Daniel
 

danielco

XLDnaute Accro
Remplace le code que e t'ai fourni par :

VB:
Private Sub CbFournisseur_Change()
  Dim Ctr
  Me.ListView1.ListItems.Clear
  derligne = Feuil3.Cells(Rows.Count, 3).End(xlUp).Row
  Ctr = 0
  For i = 2 To derligne
 
      Critere = Feuil3.Cells(i, 12)
      Select Case Critere
 
          Case Is <> ""
              Couleur = RGB(255, 0, 0)
          Case Is = ""
              Couleur = RGB(0, 0, 0)
 
      End Select
        If Feuil3.Cells(i, 3) = Me.CbFournisseur.Value Then
          Ctr = Ctr + Feuil3.Cells(i, 10)
          Set Item = ListView1.ListItems.Add(Text:=Feuil3.Cells(i, 1))
          Item.ForeColor = Couleur
          Item.SubItems(1) = Feuil3.Cells(i, 2)
          Item.ListSubItems(1).ForeColor = Couleur
          Item.SubItems(2) = Feuil3.Cells(i, 3)
          Item.ListSubItems(2).ForeColor = Couleur
          Item.SubItems(3) = Feuil3.Cells(i, 4)
          Item.ListSubItems(3).ForeColor = Couleur
          Item.SubItems(4) = Feuil3.Cells(i, 5)
          Item.ListSubItems(4).ForeColor = Couleur
          Item.SubItems(5) = Format(Feuil3.Cells(i, 6), "0Kg")
          Item.ListSubItems(5).ForeColor = Couleur
          Item.SubItems(6) = Format(Feuil3.Cells(i, 7), "# ##0.00 €")
          Item.ListSubItems(6).ForeColor = Couleur
          Item.SubItems(7) = Feuil3.Cells(i, 8)
          Item.ListSubItems(7).ForeColor = Couleur
          Item.SubItems(8) = Format(Feuil3.Cells(i, 9), "0Kg")
          Item.ListSubItems(8).ForeColor = Couleur
          Item.SubItems(9) = Feuil3.Cells(i, 10)
          Item.ListSubItems(9).ForeColor = Couleur
          Item.SubItems(10) = Feuil3.Cells(i, 11)
          Item.ListSubItems(10).ForeColor = Couleur
          Item.SubItems(11) = Format(Feuil3.Cells(i, 12), """Commander")
          Item.ListSubItems(11).ForeColor = Couleur
        End If
      Next
      Me.TxtValStock.Text = Ctr
End Sub

Daniel
 

danielco

XLDnaute Accro
Remplace la macro Actualisation par celle-ci :

VB:
Private Sub Actualisation()


    Dim Item As ListItem
    Dim derligne As Integer
    Dim i As Integer
    Dim Couleur As Variant
    Dim Critere As Variant
    Dim Ctr As Double
    ListView1.ListItems.Clear
    derligne = Feuil3.Cells(Rows.Count, 3).End(xlUp).Row
    
    For i = 2 To derligne
    
        Critere = Feuil3.Cells(i, 12)
        Select Case Critere
    
            Case Is <> ""
                Couleur = RGB(255, 0, 0)
            Case Is = ""
                Couleur = RGB(0, 0, 0)
    
        End Select
            Ctr = Ctr + Feuil3.Cells(i, 10)
            Set Item = ListView1.ListItems.Add(Text:=Feuil3.Cells(i, 1))
            Item.ForeColor = Couleur
            Item.SubItems(1) = Feuil3.Cells(i, 2)
            Item.ListSubItems(1).ForeColor = Couleur
            Item.SubItems(2) = Feuil3.Cells(i, 3)
            Item.ListSubItems(2).ForeColor = Couleur
            Item.SubItems(3) = Feuil3.Cells(i, 4)
            Item.ListSubItems(3).ForeColor = Couleur
            Item.SubItems(4) = Feuil3.Cells(i, 5)
            Item.ListSubItems(4).ForeColor = Couleur
            Item.SubItems(5) = Format(Feuil3.Cells(i, 6), "0Kg")
            Item.ListSubItems(5).ForeColor = Couleur
            Item.SubItems(6) = Format(Feuil3.Cells(i, 7), "# ##0.00 €")
            Item.ListSubItems(6).ForeColor = Couleur
            Item.SubItems(7) = Feuil3.Cells(i, 8)
            Item.ListSubItems(7).ForeColor = Couleur
            Item.SubItems(8) = Format(Feuil3.Cells(i, 9), "0Kg")
            Item.ListSubItems(8).ForeColor = Couleur
            Item.SubItems(9) = Feuil3.Cells(i, 10)
            Item.ListSubItems(9).ForeColor = Couleur
            Item.SubItems(10) = Feuil3.Cells(i, 11)
            Item.ListSubItems(10).ForeColor = Couleur
            Item.SubItems(11) = Format(Feuil3.Cells(i, 12), """Commander")
            Item.ListSubItems(11).ForeColor = Couleur
        Next
        Me.TxtValStock.Text = Ctr
    
End Sub
 

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 252
dernier inscrit
Ersar