Erreur d’exécution 5 : Argument ou appel de procédure incorr

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

Bonjour,

Travailles-tu avec des devises différentes de l'Euro ?

Cdlt.

Bonjour Jean-Eric,

Non je n'utilise pas d'autres devises que l'euro

Cdlt

Re,

Alors, pourquoi s'emmerder ?

Tu mets un commentaire dans une cellule pour rappeler la devise.

Cdlt

C'est effectivement la solution que j'ai adopté pour le moment mais qui ne me satisfait pas complètement.

Si un utilisateur ne lit pas les commentaires et saisi malgré tout le caractère € c'est tout l'UserForm qui plante...

Et par pur curiosité j'aimerai bien aussi comprendre le problème

Bonjour,

Je me contenterais de :

Private Sub COM1_AfterUpdate()
    COM1.Value = Val(Replace(COM1.Value, ",", "."))
End Sub

Cordialement.

Bonjour,

ça me semble répondre à mon besoin, merci beaucoup

Je rajouterai surement un message d'erreur en cas de mauvaise saisie malgré tout...

Cdlt

Rechercher des sujets similaires à "erreur execution argument appel procedure incorr"