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
| 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 les listes
REMPLIR Me.POSTES, 31 'on remplit la liste POSTES par les données de la colonne 31
REMPLIR Me.PERSONNES, 2 'on remplit la liste PERSONNES par les données de la colonne 2
End Sub
'On remplit la listbox ou la combobox LST par les données de la colonne COL
Private Sub REMPLIR(ByVal LST As Object, ByVal COL As Integer)
Dim MonDico As Object
Dim F As Worksheet
Dim c As Range
Dim Temp()
Set MonDico = CreateObject("Scripting.Dictionary")
Set F = Worksheets("BASE EMPLOI")
With F
For Each c In .Range(.Cells(2, COL), .Cells(.Rows.Count, COL).End(xlUp))
If c.Value <> "" Then MonDico.Item(c.Value) = c.Value
Next c
End With
Set F = Nothing
Temp = MonDico.items
Set MonDico = Nothing
Call Tri(Temp, LBound(Temp), UBound(Temp))
LST.List = Temp
End Sub
Private Sub Tri(A(), ByVal Gauc As Long, ByVal Droi As Long) ' Quick sort
Dim G As Long, D As Long
Dim Ref, Temp
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