XL 2019 interdire les doublons dans listbox

terrier

XLDnaute Junior
je reviens vers vous cette avec un problème qui me bloque, je sais pas comment j'appelle sa mais je vais essayer de mieux décrire mon souci
- j'alimente ma listbox avec un combobox2 qui contient une liste et je veux bien interdire les doublons
 

Pièces jointes

  • listbox_sans_doublons.xlsm
    31.5 KB · Affichages: 18

dg62

XLDnaute Barbatruc
bonjour terrier
en modifiant comme ci-dessous le code d' ajout
Code:
 With Me.List_OF
                For i = 0 To .ListCount - 1
              
                If .List(i, 0) = Me.cbx_2 Then
                MsgBox "Produit déja saisi !"
                Exit Sub
                End If
                Next i
                
                    .AddItem
                    .List(memoire, 0) = Me.cbx_2
                    .List(memoire, 1) = Me.txt_quantite
                    .List(memoire, 2) = Me.txt_prix
                
                End With
                memoire = memoire + 1
                Me.cbx_2 = ""
                Me.txt_quantite = ""
                Me.txt_prix = ""
                Me.cbx_1.Enabled = False
        End If
 

terrier

XLDnaute Junior
bonjour à tous
ma contribution
pourquoi ta liste ne prend pas la société en compte?
Bonjour,
merci beaucoup jpb388 il semble que ton code que je suit pas trop sa marche aussi, il est long mais j'aime bien.
Alors j'explique mieux le besoin:
un formulaire pour saisir les OF (ordre de fabrication):
-dans une of avec ref unique on peut trouver qu'une seule société ( c'est pour sa que j'ai verrouillé juste après utilisation).
-et on peut enregistrer le produit qu'une seule fois et avec le prix et la quantité qu'on veux. (si non, on se trouver 1 seule ref-of qui se répété avec même produit et même client et le problème est la).
- le contrôle des doublons dans la listbox doit se faire uniquement sur le produit et pas les quantité ni prix.
 

dg62

XLDnaute Barbatruc
re,
j'ai modifié la procédure ci-dessous pour réactiver le combo entreprise en cas d'erreur de saisie.
Quand vous effacez le dernier item de la liste, le combo entreprise est réactivé sinon vous n'aviez plus possibilité de changer d'entreprise en cas d'erreur.

VB:
'Supprimer une entrée de la listbix
Private Sub List_OF_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
If Me.List_OF.ListIndex >= 0 Then
   If MsgBox("Voulez-vous supprimer cette entré?", vbYesNo) = vbYes Then
        Me.List_OF.RemoveItem Me.List_OF.ListIndex
        memoire = memoire - 1
   End If
   If Me.List_OF.ListCount = 0 Then
   Me.cbx_1.Enabled = True
   End If
  
End If
End Sub
 

Discussions similaires