Comparer les Left dans une listBox?

Résolu
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 14 févr. 2010 à 20:36
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 14 févr. 2010 à 21:06
Bonsoir à vous,

Savez-vous comment faire pour comparer les Left d'une list1 avec une list2 puis vers list3

Explication :
J'ai une list1 avec des lettres suivit d'un tiret puis d'un numéros dans la list2 les mêmes lettres sans tiret et sans numéros.
J'aimerais pouvoir comparer ces deux list puis mettre dans une list3 les lettres identiques Pour cela il ne faut pas tenir compte dans la list1 du tiret et de tout ce qu'il y a droite du tiret.

J'ai essayé d ?écrire un code mais cela ne fonctionne pas ?


Private Sub Command3_Click()

Dim i As Long
Dim j As Long

List3.Clear


For i = 0 To List1.ListCount - 1


For j = 0 To List2.ListCount - 1

If Left$(List1.List(i), InStr(1, List1.List(i), "-")) = List2.List(j) Then List3.AddItem List2.List(j)

Next j
Next i

End Sub


Private Sub Form_Load()


List1.AddItem "AAAAAA-51240"
List1.AddItem "BBBBBB-10"
List1.AddItem "CCCCCC-11"
List1.AddItem "DDDDDD-123"
List1.AddItem "EEEEEE-447654"
List1.AddItem "FFFFFF-45"
List1.AddItem "GGGGGG-1"
List1.AddItem "HHHHHH-1"
List1.AddItem "IIIIII-"


List2.AddItem "AAAAAA"
List2.AddItem "BBBBBB"
List2.AddItem "CCCCCC"
List2.AddItem "DDDDDD"
List2.AddItem "EEEEEE"
List2.AddItem "FFFFFF"
List2.AddItem "GGGGGG"
List2.AddItem "HHHHHH"
List2.AddItem "IIIIII"



End Sub


Auriez-vous une idée.


Merci par avance.

2 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 230
14 févr. 2010 à 20:43
Bonjour,

La fonction Instr est à lire dans ton aide en ligne. Elle te permet de connaître la position du 1er caractère d'une chaîne.

Dans ton cas, donc, à main levée :
toto = "BBBB-blabla"
pos = instr(toto,"-")
if pois > 0 then
  titi left(toto, pos-1) '>> sera "BBBB"
else
  titi = toto
end if



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
3
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012
14 févr. 2010 à 21:06
Merci ucfoutu pour ton aide aussi rapide,


Effectivement j'avais oublié le ?1


If Left$(List1.List(i), InStr(1, List1.List(i), "-") - 1) = List2.List(j) Then List3.AddItem List2.List(j)



Merci et bonne soirée
0