Vérification Doublon entre 2 listbox avant ajout
Bonjour a tous et bonne année 2015.
voilà mon problème :
j'ai 2 listbox une listbox avec des valeur et une vide qui se rempli en fonction des valeur choisi sur la premiere.
Cependant je souhaiterai que lorsque j'ajoute une valeur sur la 2ieme list box il vérifie qu'elle n'existe pas déjà avant de la mettre.
Pour le moment il n'ajoute que ceux selectioné mais ne vérifie pas les doublons.
Auriez-vous une idée ?
voici le code pour ajouter ou je voudrais implementer la vérification du doublon.
Private Sub CommandButton1_Click() 'Ajouter
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Secteur.AddItem ListBox1.List(i)
End If
Next i
'Formule qui permet ajouter un élément après l'autre :If ListBox1.ListIndex > -1 Then ListBox2.AddItem ListBox1.List(ListBox1.ListIndex)
End Sub
NB : Premiere listebox ou l'on choisi = listbox1 et la listbox ou l'on ajoute = secteur.
j'ai rajouté le fichier excel vous trouverai les 2 listbox dans le userform Créa_code_INT4
merci d'avance
restant à votre disposition.
re-bonjour
Je ne sais pas si j'ai été assez clair sur ma demande mais je vais reformuler :
En fait Ma première listbox propose des secteurs ou il faut sélectionner ceux que l'on souhaite attribuer a un technicien une fois sélectionner on appui sur un bouton et il se copie sur ma listbox numéro 2.Cependant je voudrais lors de cette étape qu'il vérifie que le secteur n'existe pas déjà sur la listbox 2 avant de l'ajouter.
Cordialement,
Bonjour,
Après quelques jours de recherche et d'arrachage de cheveux je viens de trouver une méthode légèrement différente mais qui marche quand même.
'Suppression doublon
Dim iPos As Integer
iPos = 0
'Si la listbox est vide il quitte la fonction
If Créa_code_INT4.SecteursPrivilégiésTech.ListCount < 1 Then Exit Sub
Do While iPos < Créa_code_INT4.SecteursPrivilégiésTech.ListCount
Créa_code_INT4.SecteursPrivilégiésTech.Text = Créa_code_INT4.SecteursPrivilégiésTech.List(iPos)
'Verifie si le text existe deja
If Créa_code_INT4.SecteursPrivilégiésTech.ListIndex <> iPos Then
'Si c'est le cas il supprime et garde la position iPos...
Créa_code_INT4.SecteursPrivilégiésTech.RemoveItem iPos
MsgBox ("Un ou plusieur secteur selectioné déjà dans la liste ")
Else
'Si ce n'est pas le cas il change la position iPos...
iPos = iPos + 1
End If
Loop
Par contre quelqu'un connait une autre méthode pour désélectionner automatiquement dans une listbox sans passer par
'With SecteursPrivilégiés
'.MultiSelect = fmMultiSelectSingle
'.MultiSelect = fmMultiSelectMulti
'End With
?