Problème sur ce code au niveau de la fonction Average

  • Initiateur de la discussion Initiateur de la discussion rimbaut
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

rimbaut

Guest
Bonsoir,
J'ai recopié bêtement un code que j'ai trouvé sur un bouquin pour faire des statistiques mais il bloque au niveau de la fonction "average" et je ne comprends pas pourquoi.

Voici mon code :

Option Base 1
Sub Statistiques_Elémentaires()
Dim Plage_Rentabilites As Range
Dim Feuille As Worksheet
Dim Nombre_lignes, Numero_ligne As Integer
Nombre_lignes = Worksheets.Count - 1
ReDim Tableau_Resultats(Nombre_lignes, 7) As Variant

For Each Feuille In Worksheets
If Feuille.Name <> "Statistiques" Then
Feuille.Activate
Numero_ligne = Numero_ligne + 1
Range("C3").Select

Set Plage_Rentabilites = Range(Selection, _
Selection.End(xlDown)).Offset(-1, 1)

Plage_Rentabilites.FormulaR1C1 = _
"=LN((R[1]C2+RC3)/RC2)"

Tableau_Resultats(Numero_ligne, 1) = _
Feuille.Name

Tableau_Resultats(Numero_ligne, 2) = _
WorksheetFunction.Count(Plage_Rentabilites)

Tableau_Resultats(Numero_ligne, 3) = _
WorksheetFunction.Average(Plage_Rentabilites)

Tableau_Resultats(Numero_ligne, 4) = _
WorksheetFunction.Median(Plage_Rentabilites)

Tableau_Resultats(Numero_ligne, 5) = _
WorksheetFunction.StDev(Plage_Rentabilites)

Tableau_Resultats(Numero_ligne, 6) = _
WorksheetFunction.Skew(Plage_Rentabilites)

Tableau_Resultats(Numero_ligne, 7) = _
WorksheetFunction.Kurt(Plage_Rentabilites)

End If

Next Feuille
Worksheets("Statistiques").Activate
For i = 1 To Nombre_lignes
For j = 1 To 7
Cells(i + 1, j).Value = Tableau_Resultats(i, j)
Next j
Next i

End Sub

Je remercie d'avance toute personne qui voudra bien me renseigner.
 
Re : Problème sur ce code au niveau de la fonction Average

salut les amis,

voilà un petit bout de code ultra-simple pour retrouver à peu près la fonction moyenne dans vba.

attention, je suis sur une version us d'excel il faut probablement remplacer average par moyenne après "WorksheetFunction."😱

Function average()

ld = 2
cd = 1
lf = 11
cf = 10

average = Application.WorksheetFunction.average(Range(Cells(ld, cd), Cells(lf, cf)))

End Function
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
743
Réponses
3
Affichages
883
Réponses
33
Affichages
3 K
Retour