Bonjour à tous,
Pour situer le contexte, je prépare un UserForm pour permettre la saisie d'informations à l'ouverture d'un nouveau contrat client.
Je souhaite ajouter quelques contrôles sur les données saisies.
J'ai utilisé le code suivant pour obliger l'utilisateur à saisir des chiffres dans une textbox qui vient renseigner le montant de commission minimal facturé au client :
Private Sub COM1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'Les seuls caractères numériques sont autorisés
If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0: MsgBox "Saisie non valide", vbCritical
End Sub
Le code fonctionne à une exception près : lorsque l'on rentre le caractère "€" (AltGr+e), la procédure s'arrête et renvoi l'erreur : Erreur d’exécution 5 : Argument ou appel de procédure incorrect.
Je ne comprend pas pourquoi ce caractère en particulier pose problème, est-ce que le raccourci AltGr+e à une autre signification dans l'environnement VBA ?
Merci pour vos suggestions.
EDIT :
Quelques précisions :
Dans une textbox sans ce contrôle, la saisie de "€" ne pose pas de problème.
Quand on entre ce caractère par un copier/coller le problème ne se pose pas non plus