Combobox sans doublon ni blanc trié par ordre alphabétique

Bonjour à tous,

Je sais qu'il y déjà plusieurs sujet traitant des combobox sans doublons mais je n'ai pas trouvé de solution pour avoir une combobox qui affiche une listes sans doublons ni blanc et trié par ordre alphabétique.

De plus je voudrais qu'elle suive si on rajoute des éléments dans ma plage de donnée pour que si e sont des éléments qui n'ont jamais été rentré ils apparaissent dans la liste.

Enfin j'aimerai avoir tout en haut de ma liste une sélection vide pour qu'on puisse laisser la combobox vide.

Voici le code que j'ai pour le moment dans mon classeur :

Private Sub ComboBox1_DropButtonClick()
Dim i As Long, j As Long, temp As String
  Me.ComboBox1.Clear
  For Each C In Sheets("").Range("C4:C65536")
    If C.value <> "" Then
      ComboBox1.Text = C.value
      If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem C.value
    End If
  Next C

 For i = 0 To ComboBox1.ListCount - 1
 For j = 0 To ComboBox1.ListCount - 1
 If ComboBox1.List(i) < ComboBox1.List(j) Then
  temp = ComboBox1.List(i)
  ComboBox1.List(i) = ComboBox1.List(j)
  ComboBox1.List(j) = temp
 End If: Next j: Next i

End Sub

Je joins un exemple qui est vide pour le code mais ça donne un exemple de plage de donnée.

Voila voila.

Merci d'avance pour vos réponse.

Salut,

Je ne sais pas le faire d’une manière directe, mais peut-être que la solution proposée dans le fichier ci-joint pourrait résoudre ton problème.

La colonne A (à masquer ?) est réactualisée en fonction de la colonne N à chaque fois que tu cliques sur le bouton. Ainsi, tu as toujours une liste actuelle dans ton ComboBox.

Kant1 a écrit :

Enfin j'aimerai avoir tout en haut de ma liste une sélection vide pour qu'on puisse laisser la combobox vide.

Je n’ai pas vraiment compris ce que tu veux dire par là. Si ce que tu désires c’est que le ComboBox s’ouvre en étant vide, mais que tu ne veux pas spécialement pouvoir choisir une valeur vide – comme tu peux le faire actuellement dans le premier fichier fourni – il faudrait modifier le code afin de ne pas avoir cette première ligne vide dans le ComboBox (voir la variante 2).

NB : La prochaine fois joins également ton fichier.

Amicalement.

426combobox-essai.zip (129.18 Ko)

Bonjour,

Désolé de la réponse tardive je n'avais pas internet.

C'est pas mal comme solution mais y a t'il possibilité d'échapper à la colonne intermédiaire et d'afficher la combobox à part de sorte à ne pas avoir à réactualiser pour s'en servir ?

Et désolé pour le fichier joint je n'avais pas vu que je m'étais loupé et là je l'ai plus?

En tout cas merci de ta réponse qui n'est pas loin de ce que je veux

Salut,

Kant1 a écrit :

.... mais y a t'il possibilité d'échapper à la colonne intermédiaire

Yvouille a écrit :

Je ne sais pas le faire d’une manière directe,

Kant1 a écrit :

..... et d'afficher la combobox à part de sorte à ne pas avoir à réactualiser pour s'en servir ?

Je ne vois pas ce que tu veux dire. Te demande était que le ComboBox soit toujours actualisé en fonction de la colonne N. Si tu masques la colonne A comme je te l’ai proposé (ou si tu la déplaces sur une feuille masquée, comme autre possibilité), ma méthode réalise exactement ce que tu désirais.

Amicalement.

Bonjour,

Désolé de mon absence pas de connexion.

Donc je vais éclaircir ce que j'ai dit plus haut.

Je n'ai pas fait attention à ton message quand tu disait que de manière directe tu ne savais pas faire, je dois pouvoir m'arranger avec la colonne intermédiaire.

Et j'aimerai une séparation entre la combobox et le bouton pour la mettre à jour car je ne trouve pas très intutif de cliquer sur un bouton pour une liste déroulante.

Voila en espérant être plus claire.

Re,

Tu ne me dis pas quelle est la variante que tu préfères entre les deux proposées. Me serais-je cassé le … la tête pour rien ?

Kant1 a écrit :

Voilà en espérant être plus claire.

Non, malheureusement pas trop
Kant1 a écrit :

j'aimerai une séparation entre la combobox et le bouton pour la mettre à jour car je ne trouve pas très intutif de cliquer sur un bouton pour une liste déroulante.

Tu as dis vouloir pouvoir modifier la liste de base et qu’ensuite ton ComboBox soit réactualisé. Peut-être bien que ma solution est nulle, mais alors lors de quel évènement veux-tu que le ComboBox s’ouvre ?

A te relire, à moins que ce fil ne t’intéresse pas du tout, auquel cas ce serait sympa de l’indiquer comme « Résolu ».

En faite je pense que les utilisateurs ne trouveront pas forcement ça intuitif de cliquer sur un bouton pour accéder à la combobox mais apres je vais voir avec mon supérieur si ça lui va.

Mais sinon ta solution me sera de tout facon très utile comme base ou comme tel.

Merci

Yvouille a écrit :

mais alors lors de quel évènement veux-tu que le ComboBox s’ouvre ?

Il me semble que tu n'as pas vraiment une meilleure idée que moi
Rechercher des sujets similaires à "combobox doublon blanc trie ordre alphabetique"