Incompatibilité de type

Rootdown

XLDnaute Junior
Bonjour,
je comprend plus

je souhaite faire un calcul sur excel vba et l'erreur 13 : incompatibilité de type revient en permanence.

Les variables surface, prix, couchauf sont définies en tant qu'entier (as integer)

Prix doit prendre une valeur d'un tableau (feuille Chauffage et case r2 par exemple), dans cette case, il y une formule logique qui défini si la case prend
la valeur 1 ou la valeur 2, qui sont des nombres à 5 chiffres après la virgule.

Donc je fait ces deux lignes :
prix = Worksheets("Chauffage").Range("R2").Value
couchauf = Surface * prix

Et ca bloque systématiquement sur la première ligne. J'en perd mon latin (que je n'ai jamais trouvé d'ailleurs)
:rolleyes:

Est ce que quelqu'un peut m'aider ? :(
Merci par avance.
 

Rootdown

XLDnaute Junior
Re : Incompatibilité de type

Bonjoura tous,
merci de vos réponses.
J'ai essayé avec d'autre type de variables au lieu d'Integer, j'ai essayé Single ou Currency et ca ne passe toujours pas.

:(
Comprend pas. je vais essayer de vous envoyer une partie de mon document,
pour voir ou je fais une erreur.
 

tora

XLDnaute Occasionnel
Re : Incompatibilité de type

Le pire c'est qu'en faisant un document réduit,
en gardant les mêmes types de variables, ca marche :mad:
Donc ca sert a rien que je l'envoi...
Je continue a chercher. Merci quand même :)

j'ajoute un tout chti grain de mauvais sel :

verifie le contenu de tes cases :
Lance une macro qui te liste le type de variable dans les
cellules que tu traite .... si ca se trouve il y a un intrus !
( rien de pire qu' une lettre au milieu ... 100 ou 1O0 par exemple ... )
...
 

Rootdown

XLDnaute Junior
Re : Incompatibilité de type

Merci mais ce n'etait pas le soucis,
je pense avoir trouvé, c'est que je rempli des cases avec deux valeurs ou aucune, et c'est quand il n'y avais aucune valeur que ça bloquait.

D'où un autre problème, dans une boucle if , while, ou for,
comment mettre fin a la boucle quand la première condition est trouvé ?
 

tora

XLDnaute Occasionnel
Re : Incompatibilité de type

Merci mais ce n'etait pas le soucis,
je pense avoir trouvé, c'est que je rempli des cases avec deux valeurs ou aucune, et c'est quand il n'y avais aucune valeur que ça bloquait.

D'où un autre problème, dans une boucle if , while, ou for,
comment mettre fin a la boucle quand la première condition est trouvé ?

Do
....
....
if .... then exit do
Loop while ....

For a=1 to 100
.....
.....
if .... then exit for
next a
 

Raja

XLDnaute Accro
Re : Incompatibilité de type

Bonjour, Salut à tous,

Juste une remarque If n'est pas une boucle. C'est une structure alternative de test. A part ça, si tu veux sortir avant la fin d'une boucle, il faut utiliser cette structure pour tester une condition de sortie et mettre Exit Do(à l'intérieur de la boucle Do.....While) ou Exit For(à l'intérieur de la boucle For)en cas de remplissage de cette condition pour une sortie anticipée.
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 942
Membres
103 989
dernier inscrit
jralonso