Bonjour,
dans une zone de liste déroulante, lorsque je saisis un produit et qu'il n'appartient pas à cette liste, j'aimerais afficher un message.
comment faire ? quelle syntaxe utiliser ?
Merci.
Version imprimable
Bonjour,
dans une zone de liste déroulante, lorsque je saisis un produit et qu'il n'appartient pas à cette liste, j'aimerais afficher un message.
comment faire ? quelle syntaxe utiliser ?
Merci.
Si ta liste est dans un UserForm et qu'elle se nomme ComboBox1, le code suivant produira l'effet voulu:
Code:
1
2
3
4
5
6
7
8
9
10 Private Sub ComboBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean) Dim i As Long For i = 0 To ComboBox1.ListCount - 1 If ComboBox1.Value = ComboBox1.List(i) Then Exit Sub End If Next i MsgBox "'" & ComboBox1.Value & "' n'est pas dans la liste." End Sub
Bonjour
La propriété MatchRequired du combobox (userform/boite à outils) permet cela.
Mais permet-elle d'afficher un message personnalisé?
Salut Singular,
Non, pas à ma connaissance. Si il faut un message personnalisé, c'est ta solution qui me semble la bonne.
J'ajouterai que, si on utilise la tienne, on peut alors bloquer la saisie erronée en gérant le Cancel
Bon dimanche
Bonjour,
désolée pour le temps de réponse.
J'avais trouvé le MatchRequired mais je voulais personnaliser le message:
merci à Singular.
Cependant, comme le fait remarquer Pierre Fauconnier, on ne peut pas bloquer la saisie erronée.
qu'entendez-vous par "en gérant le Cancel" ? que faudrait-il ajouter ?
Merci d'avance.
Bonjour
Cancel veut dire annuler
Cancel peut avoir 2 valeurs : True (qui veut dire vrai) et False (qui veut dire faux)
Et si maintenant tu essayais ?
Merci bcp
(je sais quand même que Cancel veut dire Annuler....;))