OVH Cloud OVH Cloud

Doublon et ListBox

2 réponses
Avatar
Xavier
Bonjour à tous,


J'ai :
Un TextBox
Un BoutonAjout
Une ListBox (source un Range)

Comment éviter de créer un doublon en fonction des Items listés sur la
ListBox et non pas des données source.

Merci pour votre aide.
A bientôt
Xavier

2 réponses

Avatar
Patrick Penet
Je te suggère de nourrir ta ListBox avec une collection
plutôt q'un Range en renseignant sa propriété Key (String).

En effet, celle-ci ne peut être qu'unique. Il suffit donc
de gérer l'erreur (457) provoquée par un doublon.

Par exemple, à adapter selon ton cas :

- cCliCode est ici une collection déclarée avant
- Me est une feuille
- Target est un Range

Sub MaBelleSub()
On Error GoTo GestErr 'Gestion de l'erreur
cCliCode.Add Me.Range("B" & Target.Row).Value, Me.Range("B" & Target.Row).Value
Continue:
'le reste de ton code
Exit Sub

GestErr:
Select Case Err.Number
Case 457
MsgBox "Ce client est déjà dans la liste !", vbCritical + vbOKOnly, "Erreur"
End Select
GoTo Continue
End Sub

Si ça aide, ça fait pas de mal.
Cordialement.
P.


"Xavier" a écrit dans le message de news:
Bonjour à tous,


J'ai :
Un TextBox
Un BoutonAjout
Une ListBox (source un Range)

Comment éviter de créer un doublon en fonction des Items listés sur la
ListBox et non pas des données source.

Merci pour votre aide.
A bientôt
Xavier




Avatar
JB
Bonjour,

Interdit la saisie de doublons dans listBox

Private Sub TextBox1_AfterUpdate()
On Error Resume Next
Me.ListBox1 = Me.TextBox1
If Err <> 0 Then
Me.ListBox1.AddItem Me.TextBox1
End If
End Sub

http://cjoint.com/?lAiE3oWMIB

Cordialement JB

Private Sub UserForm_Initialize()
Me.ListBox1.AddItem "aa"
Me.ListBox1.AddItem "bb"
Me.ListBox1.AddItem "cc"
End Sub

Bonjour à tous,


J'ai :
Un TextBox
Un BoutonAjout
Une ListBox (source un Range)

Comment éviter de créer un doublon en fonction des Items listés sur la
ListBox et non pas des données source.

Merci pour votre aide.
A bientôt
Xavier