Compter le nombre de doublons dans un listbox

cs_Nico52 Messages postés 35 Date d'inscription vendredi 20 février 2004 Statut Membre Dernière intervention 11 mai 2007 - 8 mars 2006 à 17:44
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 8 mars 2006 à 18:49
Bonjour,

J'ai un listbox avec des doublons et j'aimerai compter le nombre de chaque doublons
exemple:
ordi
ordi
ordi

nombre : 3

Est-ce possible

Merci d'avance

2 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
8 mars 2006 à 18:42
Bonsoir,

Private Sub Command1_Click()
Dim i, n
n = 0
For i = 0 To List1.ListCount - 1
If List1.List(i) = "ordi" Then
n = n + 1
End If
Next i
MsgBox n
End Sub

jpleroisse

Si une réponse vous convient, cliquez Réponse Acceptée
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
8 mars 2006 à 18:49
Le technique est simple : deux boucles imbriquées, tout simplement !

Il faut imbriquer deux boucle, soit du type For/Next si tu es à même de connaître le nombre d'éléments, soit une Do/Loop (un peu plus lourde cependant!).
Il faut considérer ta liste comme étant en fait deux listes. Tu compares le contenu de chaque élément de la première avec chaque éléments de la secondes :

123 > 123 123¬ 123 123 ¬ 123
456 456 456 -> 456 456 | 456
789 789 789 789 789 -> 789

123 -> 123 123 123 123 123

456-| 456 456 -> 456 456-| 456

789 789 789 789 789 -> 789



Mais, en testant toute fois la position que tu testes dans la première boucle afin de l'éluder lorsque tu tomberas sur elle dans la seconde :

'Exemple abstrait :
tblListe(10)
For varBoucle1 = 1 To 10
For varBoucle2 = 1 To 10
If varBoucle1 <> varBoucle2 Then
If tblListe(varBoucle1) = tblListe(varBoucle2) Then 'Doublon de l'élément varBoucle1
End If

Next varBoucle 2

Next varBoucle 1

Enjoy


( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
0
Rejoignez-nous