Bonjour à tous,
Malgré des recherches sur différents forum, je n'ai pas réussi à trouver une solution à mon problème.
Dans un userform, je récupère une liste de feuille excel affichée dans un usf (Nom et Prénom). Jusque là pas de problème, mais je souhaiterai que la listbox de mon userform soit triée par ordre alphabétique (par le nom, soit le colonne 1).
J'ai bien trouver qq bout de code mais je ne parviens pas à les insérer dans mon projet.
Voici mon code :
Private Sub UserForm_Initialize()
Dim L As Long
'Liste des NOM
With Sheets("bdd")
ListBox1.ColumnCount = 2 'pour afficher le prénom aussi dans le Combobox
L = .Cells(.Rows.Count, 1).End(xlUp).Row
ListBox1.List = .Range(.Cells(2, 1), .Cells(L, 2)).Value
End With
CboStatut.AddItem "Titulaire"
CboStatut.AddItem "Non titulaire"
Dim i As Byte, j As Byte
Dim temp As String
With CboStatut
For i = 0 To .ListCount - 1
For j = 0 To .ListCount - 1
If .List(i) < .List(j) Then
temp = .List(i)
.List(i) = .List(j)
.List(j) = temp
End If
Next j
Next i
End With
CboNatcontrat.AddItem "CDI"
CboNatcontrat.AddItem "CDD"
CboAffectation.RowSource = ("code!Affectation")
CboAffectation.ListIndex = -1
CboHorairecont.AddItem "5"
CboHorairecont.AddItem "6"
CboHorairecont.AddItem "7"
CboHorairecont.AddItem "151.67"
ComboBox1.RowSource = ("bdd!ss")
End Sub
Merci de votre aide.
Malgré des recherches sur différents forum, je n'ai pas réussi à trouver une solution à mon problème.
Dans un userform, je récupère une liste de feuille excel affichée dans un usf (Nom et Prénom). Jusque là pas de problème, mais je souhaiterai que la listbox de mon userform soit triée par ordre alphabétique (par le nom, soit le colonne 1).
J'ai bien trouver qq bout de code mais je ne parviens pas à les insérer dans mon projet.
Voici mon code :
Private Sub UserForm_Initialize()
Dim L As Long
'Liste des NOM
With Sheets("bdd")
ListBox1.ColumnCount = 2 'pour afficher le prénom aussi dans le Combobox
L = .Cells(.Rows.Count, 1).End(xlUp).Row
ListBox1.List = .Range(.Cells(2, 1), .Cells(L, 2)).Value
End With
CboStatut.AddItem "Titulaire"
CboStatut.AddItem "Non titulaire"
Dim i As Byte, j As Byte
Dim temp As String
With CboStatut
For i = 0 To .ListCount - 1
For j = 0 To .ListCount - 1
If .List(i) < .List(j) Then
temp = .List(i)
.List(i) = .List(j)
.List(j) = temp
End If
Next j
Next i
End With
CboNatcontrat.AddItem "CDI"
CboNatcontrat.AddItem "CDD"
CboAffectation.RowSource = ("code!Affectation")
CboAffectation.ListIndex = -1
CboHorairecont.AddItem "5"
CboHorairecont.AddItem "6"
CboHorairecont.AddItem "7"
CboHorairecont.AddItem "151.67"
ComboBox1.RowSource = ("bdd!ss")
End Sub
Merci de votre aide.