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
Partager