Résolu Gérer les doublons d'une Listbox par ajout Textbox

Horusbk

XLDnaute Junior
Bonjour,

J'utilise une textbox pour ajouter des données à une Listbox, voici le code que j'ai créé :
VB:
Private Sub CommandButton1_Click()
'Ajouter à la listboxs
    Me.ListBox1.AddItem TextBox1
    Me.TextBox1 = ""
    Me.TextBox1.SetFocus
End Sub
Toutefois, j'aimerais intégrer un contrôle qui empêcherait l'utilisateur de saisir un doublon dans cette Listbox mais je ne sais pas trop comment faire. Pourriez-vous m'aider sur le bout de code qu'il me manque ?

Merci d'avance pour votre aide ! :)
 
Dernière édition:

Papyty

XLDnaute Nouveau
Bonsoir Horusbk,

Une des possibilités :

VB:
Private Sub CommandButton1_Click()
' Test si vide
    If Me.TextBox1 = "" Then
        Me.TextBox1.SetFocus
        Exit Sub
    End If
'Test si existe
    On Error Resume Next
    Me.ListBox1 = Me.TextBox1
    On Error GoTo 0
    If Me.ListBox1.ListIndex = -1 Then
        Me.ListBox1.AddItem Me.TextBox1
    End If
    Me.ListBox1.ListIndex = -1
    Me.TextBox1 = ""
    Me.TextBox1.SetFocus
End Sub
Un fichier exemple en pièce jointe.

Bonne soirée

Papyty
 

Fichiers joints

Horusbk

XLDnaute Junior
Bonjour Papyty,

Merci pour ta réponse :)
C'est exactement ce dont j'avais besoin.

Je me permets d'ajouter un complément pour ceux tomberaient sur ce sujet: j'avais un problème après la suppression d'un item de la Listbox (par double-clique sur l'item). Lorsqu'un item était sélectionné dans la listbox il était impossible d'ajouter de nouveau un numéro.

J'ai donc ajouté cette procédure pour désélectionner le contenu de la listbox:
VB:
Private Sub TextBox1_Change()
Dim i As Integer

For i = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = False
Next i
End Sub
Je passe le sujet en résolu.
Merci encore ! Horusbk
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas