Bonjour,
Pour une BDD j'ai fait un userform de saisie
A l'ouverture de je dois initialiser plusieures liistbox, les données des lisbox étant les données triées sans doublon et par aordre alpha d'une colonne de la BDD
Voila mon code d'initialtisation
Comment faire pour boucler, à la suite, toutes les listbox qui m'interesse ...
merci de votre aide
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 Option Compare Text Private Sub UserForm_Initialize() ' Insére automatiquement la date du jour dans DateDeSaisie DATESAISIE.Value = Format(Date, "dd/mm/yyyy") ' Insére automatiquement la date du jour dans DateRéponse DATEREPONSE.Value = Format(Date, "dd/mm/yyyy") ' Met "A RELANCER" par défaut dans CommentairsCandidature COMMENTAIRESCANDIDATURE.Value = "A RELANCER" ' Met en gras les noms de Sociétés NOMSOCIETE.Font.Bold = True ' Génére les données pour la liste de choix POSTES Dim temp() Set f = Sheets("BASE EMPLOI") Set MonDico = CreateObject("Scripting.Dictionary") For Each c In f.Range("AE2:AE" & f.[AE65000].End(xlUp).Row) If c.Value <> "" Then MonDico.Item(c.Value) = c.Value Next c temp = MonDico.items Call tri(temp, LBound(temp), UBound(temp)) Me.POSTE.List = temp End Sub Sub tri(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) \ 2) g = gauc: d = droi Do Do While a(g) < ref: g = g + 1: Loop Do While ref < a(d): d = d - 1: Loop If g <= d Then temp = a(g): a(g) = a(d): a(d) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri(a, g, droi) If gauc < d Then Call tri(a, gauc, d) End Sub
Partager