Bonjour à tous,

Voilà je voudrais trié un combobox par ordre alphabétique pour cela je copie colle ma sélection (FL1) dans une nouvelle feuille (FL2), et je trie la colonne A et C par ordre alphabétique.
Ensuite je remplie mon combobox avec la colonne A triée sans les doublons.
Ma ça ne marche pas comme voulu, j'ai seulement la première donnée de la plage dans mon combobox.

Mon code fonctionne si je ne trie pas ma selection mais avec le code rajouté (en gras) cela ne fonctionne plus.

Avez vous une idée?
merci d'avance

voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub UserForm_Initialize()
    Dim hWnd As Long
    Dim Plage As Range
    Dim FL1 As Worksheet
    Dim FL2 As Worksheet
    
   .
   .
   .

    'renseigne la liste des fonction
    NomProjet = FenetrePrincipale.LblProjet.Value
    
    Application.DisplayAlerts = False
    On Error Resume Next
    Set FL1 = Workbooks.Open(RepertoireTravail & "FMES-" & NomProjet & ".xls").Worksheets("FMES Equipement")
    If Err.Number = 1004 Then
    GoTo line1
    End If
    Application.DisplayAlerts = True
line1:
    Set FL1 = Workbooks("FMES-" & NomProjet & ".xls").Worksheets("FMES Equipement")
    
    FL1.Range("A4").Select
    FL1.Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Set FL2 = ActiveWorkbook.Worksheets.Add
    FL2.Name = "FMES filtrée par fonction"
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("C1") _
        , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom
    ActiveWindow.SmallScroll Down:=-6
    Range("A1").Select
        
    Set Plage1 = FL2.Range("A1:A" & FL2.UsedRange.Rows.Count)
        
    FenetreFMESUser.CmbListeFonction.Clear
    For Each Cell1 In Plage1
    If Cell1 <> "" Then
    FenetreFMESUser.CmbListeFonction = Cell1.Value
    End If
    If FenetreFMESUser.CmbListeFonction.ListIndex = -1 Then _
        FenetreFMESUser.CmbListeFonction.AddItem Cell1.Value
    Next
  .
  .
  .
  
End Sub