problème sur fonction

  • Initiateur de la discussion Johann
  • Date de début
J

Johann

Guest
Bonjour à tous,

Voilà j'ai créer une fonction que je souhaite utiliser dans ma feuille excel, mais celle ci m'affiche #VALEUR pour l'instant.

Je voulais d'abord savoir si dans une fonction, on est obligé de la faire travailler dans la feuille ou l'on est, ou si l'on peut lui faire faire des trucs sur les autres feuilles.

Je ne sais pas si c'est clair.
En tout cas, voici ma fonction:

Function perf_histo(date_debut As Date, ligne As Integer)
Dim VL_debut As Integer
Dim VL_fin As Integer
Dim date_fin As Date
Dim nb_mois As Integer
Dim col As Integer
col = trouver_date(date_debut)
VL_debut = Cells(ligne, col).Value
VL_fin = Sheets("VL").Cells(ligne, 3).Value
date_fin = Sheets("VL").Cells(1, 3).Value
nb_mois = DateDiff("m", date_debut, date_fin)
perf_histo = ((VL_fin / VL_debut) ^ (12 / nb_mois)) - 1
End Function

Function trouver_date(dte As Date)
dte = CDate(dte)
Sheets("VL").Select
Rows("1:1").Select
Selection.Find(What:=dte, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Select
trouver_date = ActiveCell.Column

La fonction perf_histo est appelé dans la feuille "Général".
La fonction marche quand je la teste par le biais d'une macro.
End Function
 
S

Sylvain

Guest
bonjour,

je ne suis pas sûr, mais il me semble qu'une fonction ne peut pas manipuler la feuille (changer la sélection copier...). les fonctions de feuille de travail doivent être passives. Une fonction qui fait des manipulations renverra toujours une erreur.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 252
Membres
103 166
dernier inscrit
ZAHRAA