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 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| Option Explicit
Private Sub UserForm_Initialize()
Dim derl%
Dim derc%
Dim codi(), lof()
Dim i As Integer
With Worksheets("Paramètres")
derl = .Cells(.Rows.Count, 2).End(xlUp).Row
codi = .Range("B2:C" & derl).Value
End With
With Lb_codi
For i = LBound(codi, 1) To UBound(codi, 1)
.AddItem codi(i, 2) & " (" & codi(i, 1) & ")"
.MultiSelect = fmMultiSelectMulti
.ListStyle = fmListStyleOption
Next
End With
With Worksheets("Ressources")
'Items de la Combobox Cb_sem
derl = .Cells(Rows.Count, 1).End(xlUp).Row
codi = .Range("A2:A" & derl).Value
For i = LBound(codi, 1) To UBound(codi, 1)
Cb_sem.AddItem codi(i, 1)
Next
'Items de la Combobox Cb_lofc
derc = .Cells(1, .Columns.Count).End(xlToLeft).Column
codi = .Range("B1", .Cells(1, derc)).Value
For i = LBound(codi, 2) To UBound(codi, 2)
CB_lofc.AddItem codi(1, i)
Next
'Valeurs par défaut
CB_lofc.Value = .Cells(1, ActiveCell.Column).Value
Cb_sem.Value = .Cells(ActiveCell.Row, 1).Value
End With
End Sub
Private Sub Valider_Click()
Dim i As Integer
Dim lavaleur As String
Dim d As Byte, e As Byte
lavaleur = ""
For i = 0 To Lb_codi.ListCount - 1
With Lb_codi
If .Selected(i) = True Then
d = InStr(.List(i), "(") + 1
e = InStr(.List(i), ")")
lavaleur = lavaleur & ";" & Mid(.List(i), d, e - d)
End If
End With
Next i
With ActiveCell
'ôter le 1er ";"
.Value = Right(lavaleur, Len(lavaleur) - 1)
'ajustement de la largeur de colonne
.Columns.AutoFit
End With
Me.Hide
Unload Me
End Sub |
Partager