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
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.
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).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.
NB : La prochaine fois joins également ton fichier.
Amicalement.
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,
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.Kant1 a écrit :..... et d'afficher la combobox à part de sorte à ne pas avoir à réactualiser pour s'en servir ?
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 ?
Non, malheureusement pas tropKant1 a écrit :Voilà en espérant être plus claire.
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 ?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.
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
Il me semble que tu n'as pas vraiment une meilleure idée que moiYvouille a écrit :mais alors lors de quel évènement veux-tu que le ComboBox s’ouvre ?