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