Bonjour a tous ,
Je débute avec VBA et j'essaie de faire des statistiques de base.
Voila j'ai plusieurs feuilles de calcul dont la dernière feuille s'appel "statistiques".
J'ai des feuilles dont les données commencent en B2 et d'autre feuilles ou ca commence en B3 ...Je voudrait faire mes calculs sur ces données et afficher le tout dans la feuille "statistiques ".
Je veux donc faire une boucle qui passe de feuille en feuille (hors celle statistiques car pas de données dessus et vu que c'est la ou je veux afficher il faut que je l'exclut)
Le problème c'est que je n'arrive pas a définir ma "référence" de données pour calculer le tout en une seule procédure vu que certain commencent en B2 d'autre en B3 ... jsuqu'a x ( j'aimerai utilise le xldown et non un chiffre comme j'ai fait dans mon code)
Voici le code que j'ai écrit pour le moment , il fonctionne moyennement c'est a dire il m'affiche la feuille statistiques alors que je pensais l'avoir exclut et bug donc dessus pour les calculs et ensuite le code fonctionne pour les feuilles dont les données débutent en B3 et il y'a donc une légère erreur de calcul pour ceux qui débutent en B2 ...
Sub stat_elementaire()
Dim SH As Worksheet
Dim i As Integer
i = 1
For Each SH In ThisWorkbook.Worksheets
If SH.Name <> "STATISTIQUES " Then
SH.Activate
i = i + 1
If SH.Name = "statistiques" Then GoTo etiquette
End If
With Sheets("Statistiques")
.Cells(i, 1).Value = SH.Name
.Cells(i, 2).Value = Range("B1:B2147").Cells.Count
.Cells(i, 3).Value = WorksheetFunction.Average(Range("B3:B2147"))
.Cells(i, 4).Value = WorksheetFunction.StDev(Range("B3:B2147"))
.Cells(i, 5).Value = WorksheetFunction.Skew(Range("B3:B2147"))
.Cells(i, 6).Value = WorksheetFunction.Kurt(Range("B3:B2147"))
End With
Next SH
etiquette:
End Sub
merci a tous pour votre aide et de m'aide a comprendre la logique de tous ces codes !