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
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