Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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
 

eric72

XLDnaute Accro
Super le seul petit hic c'est qu'à l'initialize du USF il ne met pas le total de l'ensemble du stock (oui je sais je suis un peu un boulet) hi hi!!!
Merci et après je vous laisse tranquille pour diner
Eric
 

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
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…