Comprendre une formule créée en spécifique

Bonjour,

je récupère un fichier dans lequel il y a une formule qui intègre pas mal d'éléments mais je ne sais pas quelle est l'opération qui est faite par cette formule. C'est une formule spécifique. Quelqu'un peut-il m'aider ?

la formule s'écrit ainsi : =prevca($Q28;DO$23;DC$23;$O28;DC28;CQ28;DO$6;$Y28;DO$7;$U28;$V28;$W28;$P28;'SMA Inputs'!$E$112)

je sais donc à quoi correspondent chacun des ces éléments entrants... mais finalement à quoi correspond le résultat ?!!??

Cordialement

Bonjour et bienvenue,

PREVCA() n'est pas à priori une fonction Excel.

Tu dois joindre un fichier pour que nous puissions t'en dire plus.

Cdlt.

bonjour,

ce n'est effectivement pas une fonction excel mais une fonction qui a été créée par qqn qui a quitté la boîte depuis longtemps.

Le fichier est juste énorme !

ma question est plus de savoir comment je peux faire pour retrouver ce qui a été paramétré comme formule. Je n'utilise pas personnellement le système qui permet de se recréer des formules en spécifique mais je suppose qu'on peut les modifier et donc accéder au contenu de cette formule. Est-ce qu'il fait des sommes, des si imbriqués... c'est juste ça mon problème !

merci de votre aide en tout cas

Re,

Cette fonction doit être une fonction personnalisée VBA (macro).

Fais ALT F11 pour ouvrir l'éditeur VBE.

Tu dois avoir des modules (fenêtre à gauche de ton écran).

Tu recherches alors PREVCA !...

A te relire.

ok... j'y suis et effectivement j'ai le détail.

J'aurais dû y penser mais en voyant la formule, je n'avais pas imaginé que ça puisse être une fonction écrite en VBA

voilà, j'ai un peu de lecture maintenant !

ci-dessous le détail

Function PrevCA(StatutOF, MoisCourant, MoisNmois1, DateOuverture, CANmoins1, CANmoins2, IndicePrev, RSI, PoidsMois, DateLiquid, DateReno, NbMoisReno, DateFermeture, Liquidmoyen)

On Error Resume Next

DateOuverture = CDate(DateOuverture)

MoisOuverture = DateSerial(Year(DateOuverture), Month(DateOuverture) + 1, 1) - 1

MoisCourant = CDate(MoisCourant)

MoisNmois1 = CDate(MoisNmois1)

DateReno = CDate(DateReno)

DateLiquid = CDate(DateLiquid)

MoisLiquidNplus1 = DateSerial(Year(DateLiquid) + 1, Month(DateLiquid) + 1, 1) - 1

MoisRenoNplus1 = DateSerial(Year(DateReno) + 1, Month(DateReno) + 1, 1) - 1

MoisRenoPlus1Nplus1 = DateSerial(Year(DateReno) + 1, Month(DateReno) + NbMoisReno, 1) - 1

DateFermeture = CDate(DateFermeture)

MoisFermeture = DateSerial(Year(DateFermeture), Month(DateFermeture) + 1, 1) - 1

moisLiquid = DateSerial(Year(DateLiquid), Month(DateLiquid) + 1, 1) - 1

MoisReno = DateSerial(Year(DateReno), Month(DateReno) + 1, 1) - 1

MoisRenoplus1 = DateSerial(Year(DateReno), Month(DateReno) + 2, 1) - 1

MoisRenoplus2 = DateSerial(Year(DateReno), Month(DateReno) + 3, 1) - 1

MoisRenoplus3 = DateSerial(Year(DateReno), Month(DateReno) + 4, 1) - 1

MoisRenoplus4 = DateSerial(Year(DateReno), Month(DateReno) + 5, 1) - 1

MoisRenoplus5 = DateSerial(Year(DateReno), Month(DateReno) + 6, 1) - 1

MoisRenoplus6 = DateSerial(Year(DateReno), Month(DateReno) + 7, 1) - 1

MoisRenoplus7 = DateSerial(Year(DateReno), Month(DateReno) + 8, 1) - 1

MoisRenoplus8 = DateSerial(Year(DateReno), Month(DateReno) + 9, 1) - 1

MoisRenoplus9 = DateSerial(Year(DateReno), Month(DateReno) + 10, 1) - 1

MoisRenoplus10 = DateSerial(Year(DateReno), Month(DateReno) + 11, 1) - 1

MoisRenoplus11 = DateSerial(Year(DateReno), Month(DateReno) + 12, 1) - 1

MoisRenoplus12 = DateSerial(Year(DateReno), Month(DateReno) + 13, 1) - 1

If UCase(StatutOF) = "FERME" Or StatutOF = "Fermé" Or StatutOF = "fermé" Then

Var = 0

GoTo FinCalcul

Else

GoTo Etape2

End If

Etape2:

If DateOuverture > MoisCourant Then

Var = 0

Else

If MoisOuverture < MoisNmois1 Then

If CANmoins1 > 1 Then

Var = CANmoins1 * IndicePrev / 100

Else

Var = CANmoins2 * IndicePrev / 100

End If

Else

Var = RSI * PoidsMois

End If

End If

If MoisRenoNplus1 = MoisCourant Or MoisLiquidNplus1 = MoisCourant Then

Var = CANmoins2 * (IndicePrev) / 100

Else

Var = Var

End If

If MoisRenoPlus1Nplus1 = MoisCourant Then

Var = CANmoins2 * (IndicePrev) / 100

Else

Var = Var

End If

If MoisRenoplus1 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus2 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus3 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus4 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus5 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus6 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus7 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus8 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus9 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus10 = MoisCourant Then

Var = CANmoins1 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If MoisRenoplus11 = MoisCourant Then

Var = CANmoins2 * (IndicePrev + 7) / 100

Else

Var = Var

End If

If moisLiquid = MoisCourant Then

Var = Liquidmoyen

Else

Var = Var

End If

If MoisReno = MoisCourant Then

Var = 0

Else

Var = Var

End If

If UCase(StatutOF) = "A FERMER" Then

If DateFermeture < MoisCourant Then

Var = 0

End If

End If

FinCalcul:

PrevCA = Var

Re,

Ta fonction calcule un CA prévisionnel en fonction de certains critères.

Tu as plus d'éléments que nous pour aller plus loin dans sa compréhension.

Cdlt.

Rechercher des sujets similaires à "comprendre formule creee specifique"