Somme dans ListBox filtré

Bonjour/Bonsoir à Vous toutes et tous.

Après plusieurs essais et tentatives sans succès, je viens enfin vers vous pour m'aider à faire la Somme sur une colonne d'une Listbox filtrée

L'Exemple et les détails sont das le fichier ci-joint.

Je vous remercie par avance pour votre aimable aide.

11formrechetsomm.xlsm (31.83 Ko)

Bonjour,

Ton UserForm1 :

Dim f, choix(), Rng, Ncol
Private Sub UserForm_Initialize()
   Set f = Sheets("Feuil1")
   Set Rng = f.Range("A3:H" & f.[a65000].End(xlUp).Row)
   Ncol = Rng.Columns.Count
  Tbltmp = Rng.Value
   For i = LBound(Tbltmp) To UBound(Tbltmp)
     ReDim Preserve choix(1 To i)
     For k = LBound(Tbltmp) To UBound(Tbltmp, 2)
       choix(i) = choix(i) & Tbltmp(i, k) & " * "
     Next k
        Total = Total + Tbltmp(i, 5)
  Next i
   Me.ListBox1.List = Rng.Value
   Me.TextBox2 = Format(Total, "# ##0.00")
End Sub
Private Sub TextBox1_Change()
   If Me.TextBox1 <> "" Then
       mots = Split(Trim(Me.TextBox1), " ")
       Tbl = choix
       For i = LBound(mots) To UBound(mots)
          Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
       Next i
       If UBound(Tbl) > -1 Then
          Dim b(): ReDim b(1 To UBound(Tbl) + 1, 1 To Ncol)
          For i = LBound(Tbl) To UBound(Tbl)
            a = Split(Tbl(i), "*")
            For k = 1 To Ncol: b(i + 1, k) = a(k - 1): Next k
            Total = Total + (a(4) * 1)
          Next i
          Me.ListBox1.List = b
          Me.TextBox2 = Format(Total, "# ##0.00")
        End If
   Else
     UserForm_Initialize
  End If
End Sub

A+

Bien parfait ... Bravo

C'est ce que je voulais exactement.

Un grand merci et je vous souhaite bonne continuation sur le forum.

Rechercher des sujets similaires à "somme listbox filtre"