Combobox

Résolu/Fermé
nihadlahit - 1 avril 2017 à 14:29
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 - 1 avril 2017 à 22:02
Bonjour,

j'aimerai savoir comment creer une liste déroulante à partir des valeurs presentes dans la colonne A de telle sorte que:

la liste deroulante ne peut pas contenir des doublons.

Merci

1 réponse

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
1 avril 2017 à 18:56
Bonjour Nihadlahit, bonjour le forum,

Le code ci-dessous imagine que la Combobox se nomme ComboBox1 qu'elle se trouve dans une UserForm. C'est le code d'initialisation de cette UserForm :

Private Sub UserForm_Initialize()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim I As Integer 'd;ecalre la variable I (Incrément)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
Set D = CreateObject("Scripting.Dictionary") 'définit le dictionnaire D
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    D(TV(I, 1)) = "" 'alimente le dictionnaire D avec les données en colonne 1 du tableau des valeurs TV
Next I 'prochaine ligne de la boucle
Me.ComboBox1.List = D.keys 'alimente la ComboBox1 avec la liste des éléments du dictionnaire D sans doublon
End Sub


La boucle For I =... part de la ligne 2 car on considère que la ligne 1 contient les étiquettes (en-têtes) de la colonne. Si ce n'est pas le cas remplace 2 par 1.
0
NLAH Messages postés 125 Date d'inscription lundi 9 septembre 2013 Statut Membre Dernière intervention 13 juin 2017 2
1 avril 2017 à 22:02
merci bcp
0