Fonction et Data type

albeil Messages postés 6 Date d'inscription samedi 25 août 2007 Statut Membre Dernière intervention 8 octobre 2007 - 25 août 2007 à 14:52
albeil Messages postés 6 Date d'inscription samedi 25 août 2007 Statut Membre Dernière intervention 8 octobre 2007 - 27 août 2007 à 08:52
Bonjour,

j essaie de creer une fonction en vb dont le code marche sous forme de macro mais en tant que fonction excel renvoie une erreur disant qu un mauvais data type est utilise.

Merci pour votre aide.

Function DVVALUE(cusip As Range)
Range("A:A").Select
Selection.Find(cusip).Activate
ActiveCell.Offset(3, 2).Activate
Do While ActiveCell.Value <> Empty
a = Run([USA_CALC_DF], Range(ActiveCell.Offset(0, -1), ActiveCell.Offset(0, -1)), Range("KESCURVE"), 3, 1)
b = b + ActiveCell.Value * a(1)
ActiveCell.Offset(1, 0).Select
Loop
DVVALUE = b
End Function

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
26 août 2007 à 15:53
Salut
En survolant le code, je dirai que lorsque le programme arrive ici
   b = b + ActiveCell.Value * a(1)
- il rencontre peut-être une valeur de cellule qui n'est pas numérique ou qui est vide.
- la variable "a" n'est pas un tableau, donc "a(1)" est incorrect

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2007 à 08:38
Salut,
Ce qui serait utile de faire aussi est de nommer et typer tes variables. Ainsi que de typer la valeur de retour de ta fonction.
Si c'est déjà le cas pour a et b
Ou sont déclarer a et b, et quel est leur type ?

@+: Ju£i?n
Pensez: Réponse acceptée
0
albeil Messages postés 6 Date d'inscription samedi 25 août 2007 Statut Membre Dernière intervention 8 octobre 2007
27 août 2007 à 08:52
merci mais j ai type b as a double.

quand je debugge le code b a bien une valeur genre 103.34343434 mais DVVALUE est soit empty soit egal a 0. Une Idee?

Merci
0
Rejoignez-nous