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

Macros et VBA Excel Discussion :

ComboBox alimenté par ListView et doublon [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Points : 5
    Points
    5
    Par défaut ComboBox alimenté par ListView et doublon
    Bonjour a tous,
    voici mon problème, j'alimente un ComboBox via une ListView que je voudrais sans doublons et je bloque

    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
    Private Sub cbbPays_change()
    Dim i As Long
        RemplissageListView
        cbbVille.Clear
     
            For i = 1 To ListView1.ListItems.Count
                If ListView1.ListItems(i).ListSubItems(2).Text <> "" Then
                cbbVille.AddItem ListView1.ListItems(i).ListSubItems(2).Text
                If cbbVille.ListIndex = -1 Then cbbVille.AddItem ListView1.ListItems(i).ListSubItems(2).Text
                End If
     
                TrierAlpha cbbVille, True
     
     
            Next i
        cbbSpecif.Clear
    End Sub
    voici le code ou j'essaie de supprimer les doublons mais cela ne fonctionne pas.

    Merci par avance de votre aide

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2019
    Messages : 4
    Points : 11
    Points
    11
    Par défaut
    Bonjour,
    Je pense que tu peux essayer d'adapter la méthode utilisant Dictionary de Jacques Boisgontier expliquée ici : http://boisgontierjacques.free.fr/pa...nsdoublons.htm


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
       Set mondico = CreateObject("Scripting.Dictionary")
       reDim a(ListView1.ListItems.Count) As String
       For i = 0 To ListView1.ListItems.Count-1
       a = ListView1.ListItems(i).ListSubItems(2).Text
       If a(i)<> "" Then mondico(a(i)) = ""
       Next i
       cbbVille.List = MonDico.keys
    J'espère que ca t'aidera :D

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Février 2016
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    c'est parfait merci beaucoup, j'ai fait plus compliqué :

    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
    For i = 1 To ListView1.ListItems.Count
                If ListView1.ListItems(i).ListSubItems(2).Text <> "" Then
                 If cbbVille.ListCount > 0 Then  'Deja des items dans la liste
                Paspresent = True
                For j = 0 To cbbVille.ListCount - 1
                    If cbbVille.List(j) = ListView1.ListItems(i).ListSubItems(2).Text Then
                        Paspresent = False
                    End If
                Next
          Else 'pas encore d'item dans la liste
                Paspresent = True
          End If
     
          If Paspresent = True Then cbbVille.AddItem ListView1.ListItems(i).ListSubItems(2).Text
     
        End If

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/09/2016, 19h14
  2. [XL-2007] Combobox alimenté par plusieurs colonnes
    Par youlig dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 22/03/2013, 16h31
  3. ListView alimenté par SQLITE3 et dont chaque ligne contient 3 boutons
    Par lauterry dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 04/10/2010, 01h58
  4. combobox alimenté par requête sur base access
    Par urbanspike dans le forum VB.NET
    Réponses: 1
    Dernier message: 04/06/2009, 21h11

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