copi et tri des valeurs d'une colonne dans un combobox

Y

yo51

Guest
Bonjour a tous ceux qui vont essayé de m'aider,



J'ai des valeurs dans une colonne et je voudrais les copier dans un combobox mais sans les doublons.


Si vous avez quelques idées ou bouts de code je vous remerçie d'avance.
 
V

vincent

Guest
Private Sub UserForm_Activate()
Sheets(1).Columns(1).Sort Range("A1"), xlAscending
With UserForm1.ComboBox1
Do
rang = rang + 1
For i = 0 To .ListCount - 1
.ListIndex = i
If .Value = Cells(rang, 1) Then
Match = True
Exit For
Else: Match = False
End If
Next
If Match = False Then .AddItem Cells(rang, 1)
Loop Until Cells(rang + 1, 1) = ""
End With
End Sub

Il y a peut etre plus simple.Sinon si tu veux des explications demande. A plus
 
L

LaurentTBT

Guest
Bonsoir à vous deux et à tout le forum.

Une petite recherche sur le tri d'une combobox devrait permettre de trouver la solution.
Pour ce qui est du tri de la liste, je crois qu'il faut en effet d'abord trier les données de la feuille excel si c'est possible, et si on souhaite conserver les données intactes, alors le plus simple est de les copier ailleurs, trier cette liste copiée et ensuite l'insérer dans le combobox. Mais je répète, une recherche rapide donnera un fil assez récent sur le sujet.

Pour ne pas rentrer les doublons, voici ce que je propose, en supposant que la liste est en colonne A, déjà triée, à partir de la ligne 2:

Private Sub UserForm_Initialize()
Dim i As Byte ' ou Integer selon le volume des données (si >255) ou Long si + de 32 767 lignes occupées
For i = 2 To Range("A65536").End(xlUp).Row
ComboBox1 = Range("A" & i)
If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & i)
Next i
End Sub

Bonne soirée. Laurent.
 

Discussions similaires

Statistiques des forums

Discussions
314 085
Messages
2 105 629
Membres
109 401
dernier inscrit
LE CLUB