GESTION DE LISTES (FUSION, COMPARAISON, TRI...)

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 4 juil. 2008 à 21:41
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 5 juil. 2008 à 22:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47216-gestion-de-listes-fusion-comparaison-tri

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 juil. 2008 à 22:00
mea culpa, tu as raison pour le +1
au petit reveil, je suis excusable ^^

sorry si j'ai pu paraitre mal luné.

concernant l'optimisation, ca ne viendra probablement pas, dans cette source, j'ai fait ca vite fait, pour gagner du temps au boulot... vu le temps gagné, ca se compte pas en secondes ^^

et ca me laisse du temps pour autr chose que le boulot :P
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
5 juil. 2008 à 14:22
euh..trié ?! pas forcément
Si je compares M avec F, pourquoi recomparer F avec M ?

Et puis comme tu dis: ça marche ça marche ..Et combien même on
aura à traiter une liste de 90 000 items, quelques secondes de plus
ou de moins, ne changera pas grand chose au cours de l' histoire.

Renfield, je te sens irrascible ce matin.
Alors qoui ? t' as pas encore fini tes cinq fruits ? ;)

Sur ce, je me barre :-)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
5 juil. 2008 à 06:51
dans un monde ou les items seraient triés peut-être bien ^^
(For k = i+1 To UBound(xsItems))

pour les cas particuliers (0, 1, ou deux elements...) j'ai pas traité. je l'ai dit: les algos fonctionnent, point barre.
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
4 juil. 2008 à 21:41
Salut,
Pas encre tester l' ensemble.
Il n' y a pas de doute que ça fonctionne.

J'ai parcouru le code, et j' avoue que je m' y perd un peu.
Mais pour la suppression, il me semble que ça devrait ressembler à ceci:

Private Sub CcBtnRemoveDuplicates_Click(Index As Integer)

'tester si la liste comporte au moins deux éléments .
If CcTxtList.Count=1 Then Exit Sub

'Voir même tester sur CcTxtList.Count=2
'et comparer le premier avec le deuxième.

Dim xsItems() As String
Dim i As Long
Dim k As Long
BeginJob
xsItems = Split(CcTxtList(Index).Text, vbCrLf)
For i = 0 To UBound(xsItems)-2
If LenB(xsItems(i)) Then
For k = i+1 To UBound(xsItems)
If LenB(xsItems(k)) Then
If xsItems(i) = xsItems(k) Then
xsItems(k) = vbNullString
End If
End If
Next k
End If
Next i
CcTxtList(Index).Text = Join(xsItems, vbCrLf)
EndJob
End Sub
Rejoignez-nous