Comparaison listbox

sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 14 nov. 2009 à 22:45
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 15 nov. 2009 à 10:10
Bonsoir à vous,

J'ai un autre conseil à vous demandez.

J'ai 2 listbox.

Dans la list3 j'ai des références de type : Test-25125A

Dans la list4 j'ai des références de type : Test-

Le but est de comparer c'est 2 listbox (la 3 et la 4) afin de faire sortir dans une list1 toutes les références de la list3 qui n'y a pas dans la list4.

Cette comparaison est le remplissages des listbox ( 3 et 4 ) fonctionnent.

Par contre comment faire pour ne pas tenir compte dans la list3 de tout ce qui à après le signe ? mais sans l'effacer évidemment pour pouvoir faire cette comparaison.

Pour le remplissage de la LIST1 j'ai cette fonction qui fonctionne bien car j'ai fait des simulations en mettant dans la list3 les mêmes références que la list4.


****************
Dim present As Integer
Dim i As Integer, j As Integer


List1.Clear ' on vide List1

For j% = 0 To List3.ListCount - 1
present% = 0
For i% = 0 To List4.ListCount - 1
' si élément List3 = élément List4 on sort de la boucle
If List3.List(j%) List4.List(i%) Then present% 1: Exit For
Next i
' si present = 0 --> élément List3 n'existe pas dans List4 : on l'ajoute à List1
If present% = 0 Then List1.AddItem List3.List(j%)
Next j

*****************


Merci pour votre aide.

1 réponse

sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
15 nov. 2009 à 10:10
Bonjour,

J'ai essayé ce code mais cela ne fonctionne pas ?

*****************
Dim present As Integer
Dim i As Integer, j As Integer
Dim h As Integer


' cherche le - et nettoie si trouvé
iPos = InStr(1, List3, "-")


For h = 0 To List3.ListCount - 1
If iPos Then List3.List(h%) = Left$(List3.List(h%), iPos)
' renvoie avec %
List3 = List3.List(h%) & "%"

Next

List1.Clear ' on vide List1

For j% = 0 To List3.ListCount - 1
present% = 0
For i% = 0 To List4.ListCount - 1
' si élément List3 = élément List4 on sort de la boucle
If List3.List(j%) List4.List(i%) Then present% 1: Exit For
Next i
' si present = 0 --> élément List3 n'existe pas dans List4 : on l'ajoute à List1
If present% = 0 Then List1.AddItem List3.List(j%)
Next j



Auriez-vous une idée ?


Merci
0
Rejoignez-nous