Variation de plages de cellules
nomitse
Messages postés
7
Statut
Membre
-
Le Pingou Messages postés 12274 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12274 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je dois mettre en place une moyenne sur un an glissant. Toutes les semaines, j'ajoute une ligne à mon tableau avec une nouvelle valeur. Je dois faire ma moyenne à partir de la dernière ligne de mon tableau en sélectionnant aussi les 52 lignes au dessus.
voici la formule que j'ai commencé, seulement elle ne fonctionne pas.
Sub moy()
Sheets("Overdue client historique").Select
Range("F1").Select
Selection.End(xlDown).Select
With Selection.CurrentRegion
Union(.Cells, .Offset(52, 0)).Select
End With
Sheets("synthese").Range("C21") = Average(Selection)
End Sub
Pouvez vous m'aider?
Merci d'avance
Simon
Je dois mettre en place une moyenne sur un an glissant. Toutes les semaines, j'ajoute une ligne à mon tableau avec une nouvelle valeur. Je dois faire ma moyenne à partir de la dernière ligne de mon tableau en sélectionnant aussi les 52 lignes au dessus.
voici la formule que j'ai commencé, seulement elle ne fonctionne pas.
Sub moy()
Sheets("Overdue client historique").Select
Range("F1").Select
Selection.End(xlDown).Select
With Selection.CurrentRegion
Union(.Cells, .Offset(52, 0)).Select
End With
Sheets("synthese").Range("C21") = Average(Selection)
End Sub
Pouvez vous m'aider?
Merci d'avance
Simon
Configuration: Windows XP / Firefox 3.5.8
5 réponses
-
Bonjour,
Pouvez-vous préciser le message d'erreur ?
-
Bonjour,
Je suppose qu’en [F1] se trouve la note le la première ligne.
La moyenne se calcul sur la plage qui suit [F1] par exemple [F1:F52] .
La procédure est dans se cas la suivante :Sub moy() Dim dl As Byte Sheets("Overdue client historique").Select dl = Range("F2000").End(xlUp).Row Sheets("synthese").Range("C21") = WorksheetFunction.Average(Range("F1:F" & dl)) End Sub -
Bonjour tout le monde,
Le pingou je pense que tu voulais dire :
WorksheetFunction.Average(Range("F" & dl-51 & ":F" & dl))
eric -
c'est l'inverse, ma sélection se fait à partir de la dernière ligne avec les 51 qui la précèdent. par exemple de la ligne F70 à la ligne F18.
ici ca ne fonctionne pas car il me fait une moyenne global même si je viens masquer les valeurs dont e n'ai pas besoin.
Merci d'avance
Simon -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Dans se cas, corrigé le code selon la proposition d'eriiic.
Essayez, elle est dans le bon sens.