Empêcher d'écrire dans une liste déroulante sauf les mots qui sont déjà enregistrés

Anonyme
2021-07-14T13:58:25+00:00

Bonjour,

j'ai un formulaire "Ville" avec une liste déroulante pour rechercher une ville en particulier. Par exemple, dans cette liste, j'ai 3 villes : Paris, Lyon et Marseille. Dans la liste, si je commence à taper soit Pa, Ly ou Ma, la ville correspondante s'affiche dans la zone de liste. Par contre, j'aimerai savoir si il y a un moyen de déclencher un message lorsque l'on tape une valeur erronée n'ayant aucune correspondance et non celle de Microsoft qui n'est pas très élégante?

Merci pour votre aide.

Cordialement

Microsoft 365 et Office | Access | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
DanielCo 107.7K Points de réputation
2021-07-15T16:57:41+00:00

Je n'avais pas complétement testé. Essaie :

Private Sub ouvre_ville1_Change()
Dim C, Teste As Boolean, I
Set C = Me.ouvre_ville1.Recordset
For I = 0 To Me.ouvre_ville1.Recordset.RecordCount
If InStr(UCase(Me.ouvre_ville1.ItemData(I)), UCase(Me.ouvre_ville1.Text)) = 1 Then
Teste = True
Exit For
End If
Next I
If Teste = False Then
MsgBox "saisie erronnée"
Me.ouvre_ville1.Value = ""
End If
End Sub

Mais sinon, ne perds pas ton temps...

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

13 réponses supplémentaires

  1. Anonyme
    2021-07-15T17:46:57+00:00

    merci aussi à ScottBDiamond

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire