Comparer les Left dans une listBox? [Résolu]

Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
18 mars 2012
- - Dernière réponse : 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.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
217
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
18 mars 2012
0
Merci
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
Commenter la réponse de sancho12345