Bonjour,
Si tu "garnis" tes deux ComboBox dans la procédure Initialize de ton UserForm, tu ne saurais pas lier le contenu de la seconde liste (puisque rien n'a été choisi dans la première!)
Essaie donc en déplaçant la partie de code concernée dans la procédure liée à l'événement ComboBox1_Change:
Private Sub ComboBox1_Change()
' '--- combobox Emplois trié
Set f = Sheets("bd")
BD = f.Range("A2:E" & f.[A65000].End(xlUp).Row).Value
Set d = CreateObject("Scripting.Dictionary")
d("*") = ""
For i = LBound(BD) To UBound(BD)
If BD(i, 1) = ComboBox1.Value Then d(BD(i, 2)) = ""
Next i
Temp = d.keys
Tri Temp, LBound(Temp), UBound(Temp)
Me.ComboBox2.List = Temp
Me.ComboBox2.ListIndex = 0
End Sub
De cette manière, c'est bien au changement de sélection dans la première liste déroulante, que le contenu de la seconde se mettra à jour ... Si j'ai bien compris la demande!?