samuelrollens
XLDnaute Nouveau
Bonjour,
grâce au code dessous, j'obtiens bien une liste déroulante avec les valeurs de la colonne "Référence utilisateur".
par contre, j'aimerais que les valeurs soient uniques (même si doublons dans la colonne) et qu'elles soient triées
d'avance merci de votre aide
SamuelR
'Initialisation du formulaire avec remplissage du combobox via colonne réf utilisateur
Private Sub UserForm_Initialize()
Dim ws_b As Worksheet
Dim Col_reference_utilisateur As Long
Dim lastRow As Long
Dim i As Long
' Définir la feuille de calcul
Set ws_b = ThisWorkbook.Sheets("Base")
' renvoi le n° de la colonne "Référence utilisateur" pour l'exploiter dans Cells
Col_reference_utilisateur = ws_b.Rows(1).Find("Référence utilisateur", LookAt:=xlWhole).Column
' Trouver la dernière ligne de la colonne col_refuti
lastRow = ws_b.Cells(ws_b.Rows.Count, Col_reference_utilisateur).End(xlUp).Row
' Vider le ComboBox
Combo_reference_utilisateur.Clear
' Remplir le ComboBox avec les valeurs de la colonne col_refuti, en excluant l'en-tête
For i = 2 To lastRow ' Commencer à 2 pour exclure l'en-tête
If ws_b.Cells(i, Col_reference_utilisateur).Value <> "" Then
Combo_reference_utilisateur.AddItem ws_b.Cells(i, Col_reference_utilisateur).Value
End If
Next i
End Sub
grâce au code dessous, j'obtiens bien une liste déroulante avec les valeurs de la colonne "Référence utilisateur".
par contre, j'aimerais que les valeurs soient uniques (même si doublons dans la colonne) et qu'elles soient triées
d'avance merci de votre aide
SamuelR
'Initialisation du formulaire avec remplissage du combobox via colonne réf utilisateur
Private Sub UserForm_Initialize()
Dim ws_b As Worksheet
Dim Col_reference_utilisateur As Long
Dim lastRow As Long
Dim i As Long
' Définir la feuille de calcul
Set ws_b = ThisWorkbook.Sheets("Base")
' renvoi le n° de la colonne "Référence utilisateur" pour l'exploiter dans Cells
Col_reference_utilisateur = ws_b.Rows(1).Find("Référence utilisateur", LookAt:=xlWhole).Column
' Trouver la dernière ligne de la colonne col_refuti
lastRow = ws_b.Cells(ws_b.Rows.Count, Col_reference_utilisateur).End(xlUp).Row
' Vider le ComboBox
Combo_reference_utilisateur.Clear
' Remplir le ComboBox avec les valeurs de la colonne col_refuti, en excluant l'en-tête
For i = 2 To lastRow ' Commencer à 2 pour exclure l'en-tête
If ws_b.Cells(i, Col_reference_utilisateur).Value <> "" Then
Combo_reference_utilisateur.AddItem ws_b.Cells(i, Col_reference_utilisateur).Value
End If
Next i
End Sub