Bonjour à tous,

Je cherche a récupérer les valeurs d'une liste déroulante (valeurs issues de ma BDD) dans une autre.

J'ai donc pondu le code suivant:

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
Private Sub liste2_GotFocus()
 
Dim sql As String
Dim rst As Recordset
 
If IsNull(liste1.Value) Then
    MsgBox "Sélectionnez une installation avant de choisir un matériel !"
    Exit Sub
Else
    sql = "select Nom from Table_Materiels where Etape= '" & liste1.Value & "' "
    Set rst = CurrentDb.OpenRecordset(sql)
 
    rst.MoveFirst
 
    Do While Not rst.EOF
    liste2.AddItem (rst.Fields("Nom"))
    rst.MoveNext
    Loop
    rst.close
    Me.Refresh
End If
 
End Sub
Le code fonctionne , mais il ya un couac!
Si je sélectionne la liste 1 puis la liste2 (qui récupère les valeurs de la liste1), et que je reviens vers la liste1 (suite à une erreur par exemple) mais liste2 s'allonge, s'allonge, s'allonge !!... J'ai beau essayer un

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub liste1_Change()
Me.liste2.Value = Null
End Sub
Rien n'y fait...

Cela doit etre tout bete, mais là je sèche...

Merci pour votre aide

A+