Dim a(), répertoirePhoto
Private Sub UserForm_Initialize()
a = [pays].Value
Me.ComboBox1.List = a
SendKeys "{F4}"
End Sub
Private Sub ComboBox1_Change()
If Me.ComboBox1.ListIndex = -1 Then
Dim b()
tmp = Trim(UCase(Me.ComboBox1)) & "*"
j = 0
For i = LBound(a) To UBound(a)
If Trim(UCase(a(i, 1))) Like tmp Then
j = j + 1: ReDim Preserve b(1 To 2, 1 To j)
b(1, j) = a(i, 1): b(2, j) = a(i, 2)
End If
Next i
If j > 0 Then
If UBound(b, 2) > 1 Then
Me.ComboBox1.List = Application.Transpose(b)
Else
Dim c(1 To 1, 1 To 2)
c(1, 1) = b(1, 1): c(1, 2) = b(2, 1)
Me.ComboBox1.List = c
End If
Me.ComboBox1.DropDown
End If
Else
Me.TextBox1 = Me.ComboBox1.Column(1)
répertoirePhoto = "c:\dossier_flag\"
nf = répertoirePhoto & Trim(Me.ComboBox1) & ".jpg"
If Dir(nf) <> "" Then Me.Image1.Picture = LoadPicture(nf) Else Me.Image1.Picture = LoadPicture
End If
End Sub
Private Sub CommandButton1_Click()
[A2] = Me.ComboBox1.Column(0)
[B2] = Me.ComboBox1.Column(1)
nom = "monimage"
On Error Resume Next
ActiveSheet.Shapes(nom).Delete
ActiveSheet.Pictures.Insert(répertoirePhoto & Me.ComboBox1 & ".jpg").Name = nom
ActiveSheet.Shapes(nom).Left = [a4].Left
ActiveSheet.Shapes(nom).Top = [a4].Top
On Error GoTo 0
Unload Me
End Sub