Calculer moyenne entre une liste de dates

Bonjour,

J'ai tout un programme (Macro) que j'améliore de jour en jour et j'arrive à un petit problème que je n'arrive pas à résoudre

Je voudrais trouver la moyenne en jours via des dates (tout les X jours) de ventes d'un produit la liste peut être très longue (Le max pour l'instant est de 159 lignes) mais pour la demande j'ai fait une petite liste.

Merci pour votre aide.

Et bonne fin d'année.

Eric

Bonjour,

Tu veux qu'on fasse quoi avec ton fichier tout vide ?

Par ailleurs, je ne suis pas certain que les explications soient très claires.

J'ai édité mon premier message après avoir modifié mon fichier mais je ne peux pas en mettre plus vu que je ne trouve pas la solution.

En colonne "D20" je voudrais qu'il m'affiche la moyenne des jours de D7 à D19

Idem pour "E20" la moyenne des jours de E7 à E19

Merci et désolé je ne sais pas par où commencer

Mais tu entends quoi par la moyenne de ces jours ?

02/02/201928/02/2020
12/03/201901/04/2020
15/03/201904/04/2020
18/03/201906/04/2020
02/04/201910/05/2020
10/05/201912/05/2020
12/05/201917/05/2020
13/05/201906/06/2020
18/05/201908/06/2020
22/05/201912/06/2020
28/05/201918/06/2020
18/06/201922/06/2020
22/06/201901/07/2020

En gros le client est venu acheter ce produit tout le X jours

Mon but est d'avoir une certaines quantité en stock du produit

Mais pour connaitre la quantité, il me faudrait savoir à qu'elle vitesse il se vend (le client vient tout les X jours)

Désolé si je m'explique mal , j'ai l'idée dans la tête mais je n'arrive pas à la développer (à 59 ans c'est moins facile :) )

Bonjour,

Personne pour m'aider ?

Exemple de ce que je voudrais :

23/12/2020

26/12/2020

29/12/2020

Résultat = La moyenne est de : 3 jours

Bonjour,

=MOYENNE(D8:D19-D7:D18)
à valider en matriciel avec Shift+Ctrl+Entrée
eric

Merci Eric, mais ça ne marche pas , il me dit en résultat 3636,167 en jours c'est énorme :)

Si, ça marche sur ton classeur exemple. En D20, pour 11.67 de moyenne.
Ca ne peut que marcher, c'est que tu n'es pas assez attentif je pense.
eric

Merci Eric,

J'ai essayé sur le fichier effectivement ça marche, Super :) =11,66666667

Je peux le tourner en macro

Selection.FormulaArray = "=AVERAGE(R[-5]C:R[-2]C-R[-6]C:R[-3]C)"

mais existe t-il une fonction similaire en VBA ?

pour avoir juste le résultat ?

    Dim pl As Range
    Set pl = Range("D7:D18") ' sans la dernière date
    MsgBox Evaluate("Average(" & pl.Offset(1).Address & "-" & pl.Address & ")")

eric

Trop sympa Eric,Je vais tester ça Merci beaucoup :)

Super,

Je viens juste de remarquer mais ce n'est pas grave du tout , si je lance cette formule sans afficher la page en question le résultat est "0"

Merci pour ton aide Eric, en plus ce n'est pas la première fois que tu m'aide jusqu'au moment où j'obtiens ce que je cherché .. SUPER ..

Passe une bonne fête de fin d'année

J'ai trouvé comment avoir le résultat d'une autre feuille :)

Set Fenetre1 = Sheets("Feuil1")
Fenetre1.Activate
   Set pl = Range("P125:P150") ' sans la dernière date
   MsgBox Evaluate("Average(" & pl.Offset(1).Address & "-" & pl.Address & ")")

Non, ne jamais activer une feuille si ce n'est pas nécessaire.
Il faut lui indiquer avec laquelle tu veux travailler :

    Dim pl As Range
    Set pl = Worksheets("Feuil1").Range("D7:D18") ' sans la dernière date
    MsgBox Evaluate("Average(" & pl.Offset(1).Address & "-" & pl.Address & ")")

eric

Merci Eric, je viens d'apprendre encore une chose, j'ignorai qu'il fallait éviter d'activer une feuille si on peut l'éviter :)

C'est comme les .Select trop consommateurs de ressources
Sur 1 ligne tu ne verras pas de différence, mais 60 à 100 fois plus lent, dans une boucle importante ce n'est pas anodin.

Salut Eric,

Je suis sur la feuille "Accueil" et je fais ceci :

Set pl = Worksheets("Calcul1").Range("Q7:Q" & DLig)
Range("G6").Value = Evaluate("Average(" & pl.Offset(1).Address & "-" & pl.Address & ")")

Le résultat est à zéro alors qu'il ne le devrait pas.

Je fais le test sur la feuille "Calcul1" et là ca marche ...

Comment résoudre ce problème ?

Bonjour,

Ah ? Pourtant j'avais testé. Là c'est moi qui n'est pas dû être attentif
Tu peux déposer un classeur exemple stp

Effectivement. Pour l'instant je n'y arrive pas.
J'aurais peut-être les idées plus claires plus tard, mais là je dois passer à autre chose...
eric

Merci Eric,

Un petit fichier , j'ai mis un bouton "Macro" sur Accueil et sur Calcul1 qui cible sur la même macro .

Lorsque je vais dans l'onglet Accueil et que je cliques sur le bouton il m'affiche 0 alors que si je vais dans l'onglet Calcul1 et que je cliques sur le bouton là ça marche

Rechercher des sujets similaires à "calculer moyenne entre liste dates"