Bonjour à tous,

J'ai un soucis avec mon programme vba.
En fait, je veux faire une saisie semi-automatique avec une de mes combo box (celle qui se nomme "Defaut")mais, lorsque je valide ma saisie, la liste déroulante reste apparente et ne se ferme pas avec mon Userform...

Quelqu'un pourrait il me dire comment faire pour que cette liste disparaisse svp?

Voici mon programme:


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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Private Sub Defaut_Change()
On Error Resume Next
 
Dim Trouve As Boolean
Dim i As Integer
Dim j As Integer
 
For i = Defaut.ListCount - 1 To 0 Step -1
    Defaut.RemoveItem (i)
Next i
 
Trouve = False
j = -1
 
For i = 1 To 34
    If LCase(Left$(Worksheets("Tables_liste").Range("M" & i).Text, Len(Defaut.Text))) = LCase(Defaut.Text) Then
        Trouve = True
        j = j + 1
        Defaut.AddItem
        Defaut.List(j, 0) = Worksheets("Tables_liste").Range("M" & i).Text
    End If
Next i
 
'Mettre à jour la liste déroulante ouverte
 
If Trouve = True Then
    Defaut.Enabled = False
    Defaut.Enabled = True
    Defaut.SetFocus
    Defaut.DropDown
Else
    Defaut.Enabled = False
    Defaut.Enabled = True
    Defaut.SetFocus
End If
 
End Sub
 
Private Sub UserForm1_Initialize()
 
Dim i As Integer
 
For i = 1 To 34
    Defaut.AddItem
    Defaut.List(i - 1, 0) = Worksheets("Tables_liste").Range("M" & i).Text
Next i
 
Defaut.SetFocus
 
End Sub
Merci d'avance

Rob's