albeil
Messages postés6Date d'inscriptionsamedi 25 août 2007StatutMembreDernière intervention 8 octobre 2007
-
25 août 2007 à 14:52
albeil
Messages postés6Date d'inscriptionsamedi 25 août 2007StatutMembreDerniè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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 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 ?