Salut.
En fait, si tu veux enregistrer les informations de la liste, soit tu utilises un fichier soit une table. Dans ce cas, avant toute chose, tu initialises ta liste en la chargeant avec les données lues dans le fichier ou dans une table d'une base de données.
Avant de fermer le formulaire, tu enregistres les nouvelles valeurs dans le fichier ou la table.
Mais normalement l'événement NotInList sert à ajouter la saisie utilisateur au contenu d'une liste et aussi dans la table à laquelle la liste est liée.
Pour que le code que je t'ai donné fonctionne, il faut que ta base de données Access contienne une table "Joueurs" par exemple qui contienne elle même 2 champs "IdJoueur" et "NomJoueur"
IdJoueur est de type autoincrémenté
NomJoueur est de type chaine (string)
Il te faut ensuite une liste modifiable nommée par exemple LM_Joueurs. Les propriétés suivantes doivent être définies comme suit pour cette liste
"Nombre de colonnes" = 2
"Largeur des colonnes" = 0cm;3cm
"Source controle" = "NomJoueur"
"Origine source" = "table/requete"
"Contenu" = "SELECT IdJoueur, NomJoueur FROM Joueurs ORDER BY NomJoueur ASC"
"Colonne liée"= 1
"Limiter à la liste" = oui
Ensuite, il faut que le formulaire dans lequel se situe cette zone de liste soit associé à une requête qui renvoie les champs IdJoueur et NomJoueur, sinon tu auras des problèmes, je pense avec la propriété "source controle" de la zone de liste.
Et enfin, tu associes le code suivant à l'événement NotInList
Private Sub LM_Joueurs_NotInList(NewData As String, Response As Integer)
'Ajoute la saisie de l'utilisateur à la liste des joueurs
Dim db As Database
Dim enr As Recordset
Set db = Application.CurrentDb
Set enr = db.OpenRecordset("Joueurs", dbOpenTable, dbAppendOnly)
Response = acDataErrAdded
' Ajoute la chaîne de l'argument NouvDonnée au contenu.
With enr
.AddNew
.Fields("NomJoueur").Value = NewData
.Update
End With
Set db = Nothing
Set enr = Nothing
End Sub
Et normalement, quand tu saisis un nom qui n'est pas dans la liste, il est ajouté automatiquement à la liste et à la table Joueurs. Désolé, mais c pas évident à expliquer en ligne.
Bon courage
IC