lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008
-
7 août 2008 à 12:38
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
16 août 2008 à 13:01
Bonjour,je voudrais afficher des doublons dans une zone de liste ,c'est a dire j'ai des doulons comme:
AAAAA
AAAAA
AAAAA
BBBBB
BBBBB
CCCCC
CCCCC
DDDDD
DDDDD
et je voudrais afficher uniquement les doublons par simple clique sur un bouton de comande c'est a dire si je clique une fois j'affiche:
AAAAA
AAAAA
AAAAA
et une deuxieme clique m'affiche:
BBBBBB
BBBBBB
et un troisieme clique m'affiche :
CCCCC
CCCCC
help please
merci d'avance
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 7 août 2008 à 16:22
salut,
allez du tout cuit pour voir la suite, j'suis curieux... ^^
Option Explicit
'
Private Type tItem
Item As String
Count As Integer
End Type
'
Dim asHistory() As tItem
'
'
Private Sub Form_Load()
List1(0).AddItem "AAAAA"
List1(0).AddItem "AAAAA"
List1(0).AddItem "AAAAA"
List1(0).AddItem "BBBBB"
List1(0).AddItem "BBBBB"
List1(0).AddItem "CCCCC"
List1(0).AddItem "CCCCC"
List1(0).AddItem "DDDDD"
List1(0).AddItem "DDDDD"
ReDim asHistory(0)
End Sub
'
'
Private Sub Command1_Click()
Dim i As Integer, iRet As Integer
For i = 0 To List1(0).ListCount - 1
iRet = GetIndex(List1(0).List(i))
If iRet Then
If asHistory(iRet).Count = 2 Then
Load List1(iRet)
List1(iRet).Left = List1(0).Left + (List1(0).Width + 50) * iRet
List1(iRet).Visible = True
List1(iRet).AddItem asHistory(iRet).Item
List1(iRet).AddItem asHistory(iRet).Item
ElseIf asHistory(iRet).Count >
2 Then
List1(iRet).AddItem asHistory(iRet).Item
End If
End If
Next i
ReDim asHistory(0)
End Sub
'
'
Private Function GetIndex(ByVal sStr As String) As Integer
Dim i As Integer, Index As Integer
For i = 0 To UBound(asHistory)
If asHistory(i).Item = sStr Then
asHistory(i).Count = asHistory(i).Count + 1
GetIndex = i
Exit Function
End If
Next i
Index = UBound(asHistory) + 1
ReDim Preserve asHistory(Index)
With asHistory(Index)
.Item = sStr
.Count = 1
End With
End Function
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 7 août 2008 à 12:44
Salut,
il te suffit de lire le premier item, puis l'item suivant. S'ils correspondent => ajout dans seconde liste, jusqu'à ce que l'item suivant (par boucle) soit différent.
Avec une variable static, tu peux mémoriser l'index du dernier item chargé, pour reprendre là où tu en étais.
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 16 août 2008 à 10:50
Merci , finalement j'ai changé d'orientation pour mon projet mais la finalité était de faire un logiciel qui affiche des doublons et qui nous permettra de supprimer les fichiers que nous voulons. Mais ton code marche bien car je l'ai bien testé , et encore merci