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 53 54 55 56 57 58 59 60 61 62 63
| Dim Cell As Range
Dim Tableau()
Dim TempTab As Variant
Dim valeur As Integer
Dim i As Integer, j As Integer, k As Integer
'Dim boolVerif As Boolean
ReDim Tableau(1 To 1)
Tableau(1) = Cells(1, 1)
'Boucle sur les données de la colonne A, dans la Feuil1
For Each Cell In Worksheets("Feuil1").Range("A4:A" & _
Worksheets("Feuil1").Range("A65536").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
'Si la donnée n'existe pas dans le tableau, on augmente la taille du tableau
'et on ajoute la donnée.
ReDim Preserve Tableau(1 To UBound(Tableau) + 1)
Tableau(UBound(Tableau)) = Cell
'boolVerif = True
Exit For
End If
Next i
'If boolVerif = False Then
'End If
Next Cell
'Il vaut mieux trier une fois toute les entrées ajoutées dans le combo
'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
'Applique un tri croissant sur le tableau
'Source : http://silkyroad.developpez.com/vba/tableaux/#LXIV-D
For i = 1 To UBound(Tableau)
j = i
For k = x + 1 To UBound(Tableau)
If Tableau(k) <= Tableau(x) Then x = k
Next k
If i <> j Then
TempTab = Tableau(j): Tableau(j) = Tableau(i): Tableau(i) = TempTab
End If
Next i
'Alimente le ComboBox
FrmStat.ComboNGest.List = Tableau
Me.ComboNGest.ListIndex = 0 'ou 1 je sais plus si c'est en Base 0 ou 1 |
Partager