Bonjour à tous,
Voilà, j'ai mis en place ce code qui me permet d'éviter les doublons dans un Combo et d'en trier les données.
Mais l'UserForm met du temps à se charger, pouvez-vous m'expliquer pourquoi ?
Merci par avance
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 Private Sub UserForm_Initialize() Dim Cell As Range Dim Tableau() Dim TempTab As Variant Dim i As Integer, j As Integer Dim boolVerif As Boolean ReDim Tableau(1 To 1) Tableau(1) = Cells(1, 1) 'Boucle sur les données de la colonne C dans la feuille "Enf" For Each Cell In Worksheets("Enf").Range("C3:C" & Worksheets("Enf").Range("C65536").End(xlUp).Row) boolVerif = False 'Vérifie si le contenu de la cellule existe déjà dans le tableau For i = 1 To UBound(Tableau) 'Si la donnée existe déjà dans le tableau If Tableau(i) = Cell Then boolVerif = True Exit For End If Next i 'Si la donnée n'existe pas dans le tableau, on augmente la taille du tableau et on ajoute la donnée If boolVerif = False Then ReDim Preserve Tableau(1 To UBound(Tableau) + 1) Tableau(UBound(Tableau)) = Cell End If 'Tri le contenu du tableau par ordre croissant For i = 1 To UBound(Tableau) For j = 1 To UBound(Tableau) If Tableau(i) < Tableau(j) Then TempTab = Tableau(i) Tableau(i) = Tableau(j) Tableau(j) = TempTab End If Next j Next i Next Cell 'Alimente le ComboBox TNew4.List = Tableau End Sub
Partager