Appel d'un fonction(dans une Modules) sur une code(Feuille)

Bonjour tous,

J'ai écrit une fonction fnStats sur une Module, je veux l'utiliser dans un autre code (sous le même dossier Excel).

Il m'affiche le message d'erreur : End Sub attendu!

Je comprends pas....

Je vous remercie par avance!

Private Sub butt_validation_Click()

Dim titre As String

Dim debut As Date

Dim fin As Date

Dim discret As Boolean

Dim rg As Range

Dim r() As Variant

Dim fnStats As Variant

Dim ws As Worksheet

Set ws = ThisWorkbook.Worksheets("Statistiques")

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'% 1ere partie : récupation choix de l'utilisateur

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'titre

titre = Me.combo_titres.Value

'date de début

debut = Me.combo_datesDebut.Value

'date de fin

fin = Me.combo_datesFin.Value

'nature de rendement

discret = Me.opt_discret.Value

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'%2e calcul des stats%

'calcul avec fonction codée fnStat

Function fnStats(rg As Range, titre As String, debut As Date, fin As Date, discret As Boolean)

With WorksheetFunction

fnStats = Array(.Average(r), .StDev(r), .Skew(r), .Kurt(r))

End Function

'création d 'un nouveau fichier(avec 1 feuille)

Sheets.Add

ActiveSheet.Name = "Résultat"

'report sur le fichier les stats demandés_

'(Si bouton coché alors report du résultat)

ws.Range("A20:24").Select

Selection.Cut

Selection.ThisWorkbook.Worksheet("Résultat").Paste

End Sub

tu ne peux pas coder ta fonction dans un sub...

sors la du sub..

Merci bcp de votre réponse! J'ai modifié sur votre conseil, mais de nouveau: "argument ou appel de procédure incorrecte".

je ne comprends pas que j'ai déjà défini fnStats As Variant.

Private Sub butt_validation_Click()

Dim titre As String

Dim debut As Date

Dim fin As Date

Dim discret As Boolean

Dim rg As Range

Dim r() As Variant

Dim fnStats As Variant

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'% 1ere partie : récupation choix de l'utilisateur

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'titre

titre = Me.combo_titres.Value

'date de début

debut = Me.combo_datesDebut.Value

'date de fin

fin = Me.combo_datesFin.Value

'nature de rendement

discret = Me.opt_discret.Value

'%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'%2e calcul des stats%

'calcul avec fonction codée fnStat

With WorksheetFunction

fnStats(rg, titre, debut, fin, discret) = Array(.Average(r), .StDev(r), .Skew(r), .Kurt(r))

End With

'création d 'un nouveau fichier(avec 1 feuille)

Sheets.Add

ActiveSheet.Name = "Résultat"

'report sur le fichier les stats demandés_

'(Si bouton coché alors report du résultat)

With WorksheetFunction

fnStats = Array(.Average(r), .StDev(r), .Skew(r), .Kurt(r)).ThisWorkbook.Worksheet("Résultat").Value

End With

End Sub

Rechercher des sujets similaires à "appel fonction modules code feuille"