IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

probleme dans listbox


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2005
    Messages : 151
    Par défaut probleme dans listbox
    je veux tout simplement supprimer les doublons dans une listbox

  2. #2
    Membre émérite Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Par défaut
    Ta listbox est-elle rangée dans l'ordre ?
    Si oui :
    Une boucle ou tu vérifie si Item(i) = Item(I+1).

    Si non :
    Deux solutions :
    -Ta liste doit rester dans l'ordre ou elle est :
    Deux boucles imbriquées
    -Ta liste n'a pas besoin de rester dans l'ordre ou elle est :
    Tu met la propriété Sorted à True et tu reviens à la toute première méthode.

    Sinon voila une solution valable pour tous les cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Dim ListTab() As String
    Dim ListStr As String
    Dim i As Integer
     
    ListStr=""
    For i=0 To List1.ListCount - 1
    If Instr(ListStr,List1.Item(i))=0 then ListStr=ListStr & List1.Item(i) & ";"
    Next
     
    ListStr=Left(ListStr,Len(ListStr)-1)
     
    ListTab = Split(ListStr,";")
     
    List1.Clear
     
    For i = 0 To Ubound(ListTab)
    List1.AddItem ListTab(i)
    Next

    Ps : Je ne suis pas sur que la fonction Instr renvoie 0 si elle ne trouve pas la sous-chaine dans la chaine. Je te laisse vérifier car je ne suis pas chez moi et n'ai donc pas MSDN. Si ce n'est pas le cas, il faut remplacer le 0 du If dans la première boucle par la bonne valeur.


    Explications : On enregistre les valeurs de la liste une et une seule fois dans une variable String avec un séparateur (ici le ";" ) puis on resépare les chaine dans un tableau (Split) avant de remettre le tableau cette fois sans doublons dans la liste.
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

Discussions similaires

  1. Probleme affichage dans listbox
    Par android59 dans le forum C#
    Réponses: 5
    Dernier message: 21/02/2015, 21h16
  2. probleme clear dans listbox
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/07/2008, 14h16
  3. petit probleme dans listbox
    Par nabilfaouzi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 29/02/2008, 07h07
  4. Probleme dans une clause like !
    Par adil dans le forum Langage SQL
    Réponses: 6
    Dernier message: 15/07/2003, 16h47
  5. Probleme dans ma requete
    Par Kuroro dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/07/2003, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo