XL 2016 Gestion d'erreurs On Error

andrekn13

XLDnaute Occasionnel
Bonjour
J'ai essayé pleins de codes, je ne pensais pas galérer pour un truc tout bête et pourtant.....
A la suite de mon code pour envoyer mail, j'ai la constitution du nom de ma facture avec son montant.
Donc si j'oublie de créer ce montant, évidemment j'arrive à un bugg puisqu'il me le faut !
j'ai donc :
...;
...
On Error GoTo erreur
Z = CDbl(Range("E45").Text) 'mon total
Exit Sub
...
... suite de mon code et tout à la fin
End If
erreur:
MsgBox "il faur d'abord arriver au total ! "
End Sub

Je ne comprends donc pas : quand je bugg, OK il m'envoie le message et arrête la procédure
MAIS SI tout va bien j'ai toujours ce message d'erreur

Erreur de syntaxe? mauvaise compréhension ? si un doué peux me dépatouiller encore une fois
Merci à ce forum génial
 

dysorthographie

XLDnaute Accro
Bonjour,
Tu utilises cdbl qui prend en compte les paramètres régionaux !

Il faut utiliser val.
Code:
Z = val(replace(cstr(Range("E45").Text),",","."))
Et supprimes ce on error.
Une erreur est préférable à une movaise gestion du on error !

Cdbl veut dire caster en double encore faut il que le texte représente exactement un numérique double du point de vue windows {paramètres régionaux} !
Cdbl("toto") donnera une erreur val("toto") donerra 0!
 
Dernière édition:

andrekn13

XLDnaute Occasionnel
Merci de ma'avoir répondu
pour M12 : le End If , autant pour moi, ne fait pas parti de la stratégie d'annulation , juste la fin d'une condition. Par curiosité, je l'ai essayé, mais reste avec ce bugg.
Pour Dysorthographie, merci de me proposer une alternative et de m'expliquer . Cette solution me crée ce pdf , ce qui m'embête. Je voudrais vraiment arrêter la procédure. J'ai pênsé peut-être en mettant une condition style : "si résultat est 00,00€" alors abandonner et MsgBoX.
J'ai précieusement remplacé mon code et enlevé le Cdbl
Merci
 

Discussions similaires

Statistiques des forums

Discussions
315 168
Messages
2 116 927
Membres
112 916
dernier inscrit
jujhu90