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 :

suppression des doublons dans une Combobox [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 46
    Par défaut suppression des doublons dans une Combobox
    Bonjour

    j' alimente une combobox à partir de conditions spécifiques, (sous format String); à partir d'une base, j'ai des doublons ( somme toute logique, ces critéres se retrouvent plusieurs fois). Yat il un code qui permet de
    de comparer les données de la liste issue de la combobox, et supprimer les doublons

    Ce début de code est -il approprié

    Combobox.List ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each Name In ComboBox5.List
                     Unique.Add ListIndex, CStr(Name)
                Next Name
     
          For Each Unique In ListIndex
             ComboBox5.AddItem Unique
          Next Unique
    Voici mon code qui me permet d'alimenter celle-ci.

    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
    Dim Cellule As Range, Name As Variant
    Dim Unique As New Collection
     
        For Each Cellule In Range("MAT5").Columns(3).Cells
     
                    If IsEmpty(Cellule) Then Exit Sub
                    z = "SOUSCRIPTION"
                    x = Application.WorksheetFunction.VLookup(Cellule(1, 1), Worksheets("TDB").Range("MAT3"), 3, False)
                    y = Application.WorksheetFunction.VLookup(ComboBox6.Value, Worksheets("TDB").Range("MAT2"), 2, False)
     
                    If x = NATURE.Text And _
                    y = Cellule(1, -1) And _
                    z = Cellule(1, 2) _
                   Then ComboBox5.AddItem Cellule.Value
     
        Next Cellule
    Cordialement

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une proposition (à main levée, sans possibilité de tester)
    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
    20
    21
    22
    23
    24
    25
    Public Sub rempl()
    Dim Unique As Collection
    Dim Cellule As Range
    Dim x, y, z
     
    Set Unique = New Collection
    On Error Resume Next
    For Each Cellule In Range("MAT5").Columns(3).Cells
        If Cellule <> "" Then
            z = "SOUSCRIPTION"
            x = Application.WorksheetFunction.VLookup(Cellule(1, 1), Worksheets("TDB").Range("MAT3"), 3, False)
            y = Application.WorksheetFunction.VLookup(ComboBox6.Value, Worksheets("TDB").Range("MAT2"), 2, False)
            If x = NATURE.Text And y = Cellule(1, -1) And z = Cellule(1, 2) Then
                Unique.Add Cellule, CStr(Cellule)
            End If
        End If
    Next Cellule
     
    On Error GoTo 0
    ComboBox5.Clear
    For i = 1 To Unique.Count
        ComboBox5.AddItem Unique.Item(i)
    Next i
     
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 46
    Par défaut
    Bonjour, Mercatog

    Merci de ta réponse et de ton aide, cela fonctionne parfaitement

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

Discussions similaires

  1. Suppression des doublons dans une variable de type tableau
    Par damsmut dans le forum Général VBA
    Réponses: 2
    Dernier message: 23/07/2019, 10h36
  2. [AC-2000] Suppression de premières lignes des doublons dans une requête
    Par jyoboue2008 dans le forum Access
    Réponses: 3
    Dernier message: 17/03/2014, 18h55
  3. suppression des doublons dans une matrice
    Par Décembre dans le forum MATLAB
    Réponses: 4
    Dernier message: 05/09/2012, 17h52
  4. Suppression des doublons par une boucle dans une macro
    Par axamen dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2009, 09h37
  5. Suppression des blancs dans une ComboBox
    Par sami35 dans le forum Général VBA
    Réponses: 6
    Dernier message: 10/05/2007, 17h07

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