erreur 1004 sur liste déroulante

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

donpopo

XLDnaute Occasionnel
Bonjour le forum,

Après quelques utilisations d'une liste déroulante, je viens de remarquer que si je tape une donnée inexistante (ex. un code postal) dans ma liste déroulante, un message d'erreur '1004' s'affiche et bloque le programme.

Jusqu'à ce jour je sélectionnais dans la liste déroulante, donc ce problème n'est jamais apparu. Mais aujourd'hui, j'ai tapé le numéro de code postal, et ce que j'ai écrit n'est pas repris dans la liste de codes postaux.

Y a t'il un moyen d'éviter ce message d'erreur et d'inscrire, par exemple, un message dans mon contrôle 'Localité' du style 'Localité inexistante' tant que je n'aurai pas noté un numéro de code repris dans la liste?

Private Sub CboCodePCL_Change()
Dim LigneSel As Long
LigneSel = CboCodePCL.ListIndex + 1
If CboCodePCL <> "" Then LabLocaliteCL = Sheets("shCodesPost").Range("B" & LigneSel).Value
End Sub


En vous remerciant de toute l'aide que vous pourriez m'apporter.

Donpopo
 
Re : erreur 1004 sur liste déroulante

Bonjour donpopo,

Essayez :

Code:
Private Sub CboCodePCL_Change()
Dim LigneSel As Long
LigneSel = CboCodePCL.ListIndex + 1
[COLOR="Red"]If LigneSel = 0 Then MsgBox "Localité inexistante !", 48: CboCodePCL.DropDown: Exit Sub[/COLOR]
LabLocaliteCL = Sheets("shCodesPost").Range("B" & LigneSel)
End Sub
Edit : en fait avec l'affichage de la liste, ça doit suffire, on peut juste mettre :

If LigneSel = 0 Then CboCodePCL.DropDown: Exit Sub

A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour