Set mondico = CreateObject("Scripting.Dictionary") deb = Timer For i = 0 To List1.ListCount - 1 If Not mondico.exists(List1.List(i)) Then mondico.Add List1.List(i), "" Next MsgBox mondico.Count
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Function CountDistinctItem(ByVal listitem As List(Of String)) As Integer Dim sql = (From value As String In listitem Select value Distinct).Count Return sql End Function
le listview n'est normallement là que pour l'affichage...
les requetes, extractions etc
sont a faire sur la sources des données...
Try ' AFFICHAGE DE LA BOITE DE DIALOGUE Ouvrir_Fichier_Fournisseur.ShowDialog() ' INDIQUE L'EMPLACEMENT DU FICHIER FOURNISSEUR DANS LE LABEL : LBL_EMPLACEMENT_FICHIER_FOURNISSEUR Lbl_Emplacement_Fichier_Fournisseur.Text = Ouvrir_Fichier_Fournisseur.FileName ' SI LE LABEL ( LBL_EMPLACEMENT_FICHIER_FOURNISSEUR ) EST RENSEIGNE If Lbl_Emplacement_Fichier_Fournisseur.Text <> "" Then ' ON VIDE LA LISTVIEW : LISTE_ARTICLES_FOURNISSEUR Liste_Articles_Fournisseur.Items.Clear() ' ON CHARGE LES DONNEES DANS LA LISTVIEW : LISTE_ARTICLES_FOURNISSEUR SR = New StreamReader(Lbl_Emplacement_Fichier_Fournisseur.Text, System.Text.Encoding.Default) Ligne = "" Ligne = SR.ReadLine() While Not Ligne Is Nothing LVF = New ListViewItem TAB = Ligne.Split(";") LVF.Text = UCase(TAB(0).ToString.Replace(Chr(34), "")) LVF.SubItems.Add(1).Text = UCase(TAB(1).ToString.Replace(Chr(34), "")) LVF.SubItems.Add(2).Text = TAB(2).ToString.Replace(Chr(34), "") LVF.SubItems.Add(3).Text = TAB(3).ToString.Replace(Chr(34), "") LVF.SubItems.Add(4).Text = TAB(4).ToString.Replace(Chr(34), "") Liste_Articles_Fournisseur.Items.Add(LVF) TAB = Nothing Ligne = SR.ReadLine() End While SR.Close()
' COMPTE LE NOMBRE DE REFERENCES DIFFERENTES DANS LA LISTVIEW : FOURNISSEUR Dim toto As New Collection For i = 1 To Liste_Articles_Fournisseur.Items.Count - 1 On Error Resume Next toto.Add("", Liste_Articles_Fournisseur.Items(i).SubItems(0).Text) Next Lbl_Nombre_References_Fournisseur.Text = toto.Count