Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème mêmes valeurs dans liste déroulante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

kifran85

XLDnaute Nouveau
Bonjour,

J'ai un problème, dans ma liste déroulante j'obtiens 2 fois la même valeur.

Veuillez trouver ci-joint une image explicative ainsi que son fichier Excel.

Cordialement,
 

Pièces jointes

Re : Problème mêmes valeurs dans liste déroulante

Re,

La macro de la ComboBox modifiée :

Code:
Private Sub ComboDpt_Change()
    Dim cell As Range, d As Object
    If ComboDpt <> "" Then
    ComboVille.Clear
        ComboNom.Clear
        TextBox2 = ""
        TextBox4 = ""
        TextBox7 = ""
        TextBox8 = ""
        TextBox9 = ""
        Label21.Caption = ""
       
      With Sheets("entreprises")
            [COLOR="Red"]Set d = CreateObject("Scripting.Dictionary")[/COLOR]
            For Each cell In .Range("H2:H" & .Range("C65536").End(xlUp).Row)
                If cell = ComboDpt Then d(cell.Offset(0, -1).Value) = cell.Offset(0, -1).Value
            Next
            ComboVille.List = d.Items
      End With
    End If
End Sub

A+
 
Re : Problème mêmes valeurs dans liste déroulante

Bonjour à tous,

Re : kifran85,

Si tes listes déroulantes ne sont pas trop longues, tu peux filtrer les doublons au remplissage de ces listes.

Ci-après un exemple pour les villes :

Code:
Private Sub ComboDpt_Change()
    Dim cell As Range[COLOR="Red"][B], Villes As String[/B][/COLOR]
    If ComboDpt <> "" Then
    ComboVille.Clear
        ComboNom.Clear
        Me.TextBox2 = ""
        Me.TextBox4 = ""
        Me.TextBox7 = ""
        Me.TextBox8 = ""
        Me.TextBox9 = ""
        Label21.Caption = ""
                  
      [COLOR="Red"][B]Villes = ""[/B][/COLOR]
      With Sheets("entreprises")
            For Each cell In .Range("H2:H" & .Range("C65536").End(xlUp).Row)
                [COLOR="Red"][B]If cell = ComboDpt And InStr(Villes, Range("G" & cell.Row)) = 0 Then
                    Villes = Villes & "*" & Range("G" & cell.Row)[/B][/COLOR]
                    Me.ComboVille.AddItem (cell.Offset(0, -1))
                End If
            Next
      End With
    End If
End Sub

Cordialement.

Oups, trop tard et moins élégant !
Merci job75 pour ton exemple d'utilisation de Dictionary, je vais penser à m'en servir à l'occasion.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
XL 2016 liste
Réponses
10
Affichages
317
Réponses
15
Affichages
544
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…