Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ComboBox, Tri et Index

2 réponses
Avatar
Sikaar
Bonjour à tous,
j'ai deux questions sur les propriétés des combobox :

1 - Est il possible de trier les éléments d'une combobox une fois ceux-ci
ajoutés , ou faut il les ajouté au bon endroit ( faire le tri soit meme de
maniere dynamique) ou faut il les ajouter dans l'ordre ( la base doit etre
dans l'ordre) ?

2 - Comment recupérer l'indice de l'element choisi ? J'essaie avec
ComboBox.Index mais je recupere des résultats farfelus ( j'ai 5 elements et
l'index = 26) et Visual me jette une erreur de compilation si j'utilise
ComboBox.SelectedIndex

Merci de vos réponses

2 réponses

Avatar
michdenis
Bonjour Sikaar,

En supposant que ton combobox est dans un formulaire(userform)
Si ta liste du combobox est très importante, il y a d'autres alternatives.

La procédure de tri du combobox peut être appelé aussi souvent que
tu veux... tu choisis l'événement ou le moment pour mettre à jour ton
combobox en passant la ligne de commande suivante après que tu aies
ajoutés de nouveaux éléments.
Me.combobox.List = BubbleSort(Me.combobox.Li)


'---------------
Private Sub UserForm_Initialize()
RemplirCombobox
End Sub
'---------------

Sub RemplirCombobox()

Dim Tblo As Variant
With Worksheets("Feuil4")
Tblo = .Range("A1:A10")
Me.ComboBox1.List = BubbleSort(Tblo)
End With

End Sub
'---------------

Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------

Question II

Utilise la propriété ListIndex...
a = Me.combobox.listindex

Attention, le premier élément d'un combobox à
un listindex = 0 et non pas à un..



Salutations!





"Sikaar" a écrit dans le message de news:
Bonjour à tous,
j'ai deux questions sur les propriétés des combobox :

1 - Est il possible de trier les éléments d'une combobox une fois ceux-ci
ajoutés , ou faut il les ajouté au bon endroit ( faire le tri soit meme de
maniere dynamique) ou faut il les ajouter dans l'ordre ( la base doit etre
dans l'ordre) ?

2 - Comment recupérer l'indice de l'element choisi ? J'essaie avec
ComboBox.Index mais je recupere des résultats farfelus ( j'ai 5 elements et
l'index = 26) et Visual me jette une erreur de compilation si j'utilise
ComboBox.SelectedIndex

Merci de vos réponses
Avatar
Sikaar
Merci, pour le tri je vais voir mais pour l'index c'est exactement ce que je
cherchais !


Bonjour Sikaar,

En supposant que ton combobox est dans un formulaire(userform)
Si ta liste du combobox est très importante, il y a d'autres alternatives.

La procédure de tri du combobox peut être appelé aussi souvent que
tu veux... tu choisis l'événement ou le moment pour mettre à jour ton
combobox en passant la ligne de commande suivante après que tu aies
ajoutés de nouveaux éléments.
Me.combobox.List = BubbleSort(Me.combobox.Li)


'---------------
Private Sub UserForm_Initialize()
RemplirCombobox
End Sub
'---------------

Sub RemplirCombobox()

Dim Tblo As Variant
With Worksheets("Feuil4")
Tblo = .Range("A1:A10")
Me.ComboBox1.List = BubbleSort(Tblo)
End With

End Sub
'---------------

Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------

Question II

Utilise la propriété ListIndex...
a = Me.combobox.listindex

Attention, le premier élément d'un combobox à
un listindex = 0 et non pas à un..



Salutations!





"Sikaar" a écrit dans le message de news:
Bonjour à tous,
j'ai deux questions sur les propriétés des combobox :

1 - Est il possible de trier les éléments d'une combobox une fois ceux-ci
ajoutés , ou faut il les ajouté au bon endroit ( faire le tri soit meme de
maniere dynamique) ou faut il les ajouter dans l'ordre ( la base doit etre
dans l'ordre) ?

2 - Comment recupérer l'indice de l'element choisi ? J'essaie avec
ComboBox.Index mais je recupere des résultats farfelus ( j'ai 5 elements et
l'index = 26) et Visual me jette une erreur de compilation si j'utilise
ComboBox.SelectedIndex

Merci de vos réponses