Supprimer la redondance dans listbox1

Bonsoir

Comment supprimer un élément en double de ListBox dans Excel VBA

Et je veux additionner dans la dernière colonne de la zone de liste par sumif

un tel exemple

img

Bonjour Mody, bonjour le forum,

Bien que ta question soit claire et précise, un petit fichier nous permettant de mieux cerner ton problème serait le bienvenu...

Problème dans userForm2

Re,

Pas de Listbox dans l'UserForm2. l'UserForm3 ne correspond pas à ta capture d'écran ?!... Difficile de comprendre.

Salut,

Y'a pas mal de sujets la dessus, tu crée un Dico tu le charge avec tes données, ensuite tu charge la listbox avec le dico.

Code sortie du très bon site de Boigontier Jacques que tu devra adapter bien sur

Private Sub UserForm_Initialize()
  Set f = Sheets("BD")
  Set mondico = CreateObject("Scripting.Dictionary")
  a = f.Range("A2:A" & f.[A65000].End(xlUp).Row) ' tableau a(n,1) pour rapidité
  For i = LBound(a) To UBound(a)
    If a(i, 1) <> "" Then mondico(a(i, 1)) = ""
  Next i
  Me.ComboBox1.List = MonDico.keys
End Sub

Et je veux additionner dans la dernière colonne de la zone de liste par sumif

où est le code

256d64e5 6e33 4dc1 9004 e6d8c2bc7356

Et je veux additionner dans la dernière colonne de la zone de liste par sumif

où est le code

Bonjour à tous

C'est demandé si gentiment...

Bonsoir Jean-Paul

Je suis désolé, je ne voulais pas dire, mais je veux montrer le reste de ce qui est requis

Hum, bon excusé

Donc deux solutions, la première puisque tu as déjà le tableau, je l'ai juste passé en tableau structuré, et dans la dernière colonne tu tapes la formules =TEXTE([@Quantity]*[@Total];"# ##0.00 €"), si Excel demande d'écraser les autres lignes tu dis oui.

Seconde solution les calculs se font directement au remplissage de la ListBox, donc tu dois modifier le code comme ceci.

            ' ...
            ' ...
            ' ...
            If LCase(Mid(sh.Cells(i, 2), x, p)) = Me.TextBox1 And Me.TextBox1 <> "" Then
                With Me.ListBox1
                    .AddItem sh.Cells(i, 2)
                    .List(.ListCount - 1, 1) = sh.Cells(i, 3)
                    .List(.ListCount - 1, 2) = sh.Cells(i, 4)
                    .List(.ListCount - 1, 3) = sh.Cells(i, 5)
                    .List(.ListCount - 1, 4) = sh.Cells(i, 6)
                    .List(.ListCount - 1, 5) = sh.Cells(i, 7)
                    .List(.ListCount - 1, 6) = Format(sh.Cells(i, 8),"Currency")
                    .List(.ListCount - 1, 6) = Format(sh.Cells(i, 4) * sh.Cells(i, 7), "Currency")

                End With
            End If
            ' ...
            ' ...
            ' ...

Voili, voilou...

Rechercher des sujets similaires à "supprimer redondance listbox1"