Sauvegarde d'une listbox. Eviter doublons

Résolu
nono78220 Messages postés 181 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 28 octobre 2010 - 3 févr. 2007 à 00:42
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 3 févr. 2007 à 01:03
Hello,

J'ai utilisé ce code pour sauvegarder ma listbox. Comment éviter d'enregistrer les doublons ?

<li>PrivateSub Command1_Click()
</li><li>Call Ouvreliste(Me.ListBox1)
</li><li>EndSub</li><li>
</li><li>PrivateSub Command2_Click()
</li><li>Call Sauveliste(Me.ListBox1)
</li><li>EndSub</li><li>
</li><li>PrivateSub Sauveliste(LaListe As ListBox)
</li><li>Open App.Path & "" & "laliste.lst" For Output As 1
</li><li>For i = 0 To List1.ListCount - 1
</li><li> LaListe.ListIndex = i
</li><li>Print #1, LaListe.Text
</li><li>Next</li><li>Close 1
</li><li>EndSub</li><li>PrivateSub Ouvreliste(LaListe As ListBox)
</li><li>Open App.Path & "" & "laliste.lst" For Input As 1
</li><li>Do Until EOF(1)
</li><li>Line Input #1, Str
</li><li> LaListe.AddItem Str
</li><li>Loop</li><li>Close 1
</li><li>EndSub</li>

1 réponse

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
3 févr. 2007 à 01:03
Salut,

soit tu passes par une collection, en utilisant l'ID (qui doit être l'item de ta liste, et vu qu'un ID est censé être unique, si t'essaies de rentrer un doublon, t'auras une erreur, et donc un on error resume next avant fera l'affaire)
soit tu compares ton item avec le reste de la liste, avec une simple boucle, admettons, t'aies 15 données, tu prends la première et vérifie les 14 autres, si existe, tu rajoutes pas, et tu passes à l'item suivant, et vérifie avec les 13 autres, etc..

A toi de pondre un bon petit code

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
Rejoignez-nous