Erreur de type VBA

Bonjour,

Pourquoi le code ci dessous met un message d'erreur (err d'éxécution 13) quand on l'utilise dans excel 2016 ?

Ce code fonctionne parfaitement en xl 2007.

Dans un formulaire, on saisit le montant d'un CA et d'un autre on veut le reporter dans la feuille :

Cells(LigneSuivante, 23) = CDbl(Me.CA_MO)

Cells(LigneSuivante, 24) = CDbl(Me.CA_DEPL)

A priori, cela "CDbl" bloque (incompatibilité de type). Que faut il utiliser ?

Merci pour aide.

BH

Bonsoir,

les texte box peuvent peut-être provoquer cette erreur s'il y a une virgule à la place du point au niveau de la valeur.

Après pourquoi cela fonctionne avec 2007 et non 2017...

@ bientôt

LouReeD

Merci pour le retour.

En fait, c'est pire, je viens d'échanger avec l'utilisateur, quand il n'y a pas de CA, il ne saisit rien d'où l'erreur (CDbl fonctionne sur une saisie).

Comme c'est un code qui fonctionne sous mon 2007, j'avais trop rapidement conclu que le pb venait de 2016.

Désolé.

BH

Bonjour,

Après pourquoi cela fonctionne avec 2007 et non 2017...

En fait c'est normal, puisque c'est 2016 !

Pour en revenir à votre dernier message, qu'en est-il maintenant ? Je n'ai pas tout suivi...

En effet, une incompatibilité de type peut être due (ou est due) sur une fonction qui attend un chiffre mais qui n'a que du vide...

Un test du type :

If TextBox.Value ="" Then TextBox.Value = 0

@ bientôt

LouReeD

Bonjour BrunoH, LouReeD,

à tout hasard, essaye en utilisant Val() plutôt que CDbl() :

Cells(LigneSuivante, 23) = Val(Me.CA_MO) 
Cells(LigneSuivante, 24) = Val(Me.CA_DEPL)

dhany

Bonjour,

en fait dhany "a traduit" ce que je voulais dire : https://forum.excel-pratique.com/viewtopic.php?p=658645#p658645 !!!

@ bientôt

LouReeD

Rechercher des sujets similaires à "erreur type vba"