Fonction et Data type

Signaler
Messages postés
6
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
8 octobre 2007
-
Messages postés
6
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
8 octobre 2007
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
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)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
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
Messages postés
6
Date d'inscription
samedi 25 août 2007
Statut
Membre
Dernière intervention
8 octobre 2007

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