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 ...

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
merci de votre aide