Figer les moyennes des semaines précédentes
Bonjour à tous,
J'aimerais figer les moyennes des semaines précédentes après que le transfert d'une semaine à l'autre est été exécuté. Si ça peut se faire par une macro, j'aimerais pouvoir utiliser la fonction "Call" à la fin de la macro de transfert afin que le tout se fasse simultanément.
Avant l'exécution du transfert par le bouton "Transférer", la moyenne en D2 montrait 123 (Sem.01!M2/3 parties). Étant donné que D2 prend sa source en "Données!G3" et que "Données!G3" additionne les données de chaque semaine après chaque transfert, la moyenne en D2 s'ajuste aux nouvelles données (moyenne de 135 après le transfert de la Sem.02 à la Sem.03).
Est-ce possible de garder la moyenne de 123 en D2 sans toutefois supprimer la formule qui s'y trouve?
Il faudrait qu'après chaque transfert de chaque semaine, les moyennes en Col. "D" ne suivent pas l'ajustement.
Ex: La moy. en D2 de la Sem.03 est maintenant de 135, il faudrait qu'elle demeure à 135 dans la Sem.03 après le transfert pour la Sem.04. et ainsi de suite.
Mon fichier principale contient 28 semaines de jeu.
N.B. Les données de la Sem.01 ne changent pas car elles prennent leur source en col. "Données!E" plutôt que Col. "Données!G". Début de saison oblige.
Pour votre information, je ne suis pas le créateur de la macro de transfert. Elle m'a été fournie par l'un des intervenants du Forum il y a quelques années. Mes connaissances du Code VBA ne sont pas à ce niveau.
Merci beaucoup pour votre aide.
Bonjour,
Cette ligne de code supprime la formule et ne garde que la valeur en "dur" de ce fait, elle ne bougera plus :
Range("D2").Value = Range("D2").ValueBonjour Theze,
Merci beaucoup pour ta réponse rapide. Ce n'est pas ce dont j'ai besoin. Plutôt le contraire.
Est-ce possible de garder la moyenne de 123 en D2 sans toutefois supprimer la formule qui s'y trouve?
Il faudrait qu'après chaque transfert de chaque semaine, les moyennes en Col. "D" ne suivent pas l'ajustement.
La formule doit demeurer dans le cellule tout en gardant la valeur.
Merci et bonne journée.
Bonjour,
Désolé, j'ai lu trop vite !
Il y a une chose que je ne comprend pas, dans la formule tu utilises la fonction "RECHERCHEV" :
RECHERCHEV(B2;Données!$A$3:$I$1003;7;FAUX)
à qui tu demandes de retourner la valeur en colonne 7 cette valeur est 135,17 donc, c'est normal que tu n'est pas 123 (qui, dans ton classeur, est 133 en fait) ?
Il n'y a qu'en feuille "Sem.01" que tu demandes la valeur en colonne 5 :
RECHERCHEV(B2;Données!$A$3:$I$1003;5)
et dans ce cas, tu as bien 133 !
Bonjour Theze,
Merci encore de l'intérêt que tu porte à mon dpssier.
La RECHERCHEV indique 133 dans la col. D de la Sem.01 car elle prend sa source dans la Col. 5 de l'onglet Données. Cette col. indique la moyenne de départ et ne sera plus utilisée par la suite. Ce n'est qu'un indicatif pour le début de saison.
Après que le joueur ait joué la Sem.01 la moyenne de la Col. 7 de l'onglet Données indique 123,67. Ce qui représente le total des quilles 371 (Col "H" de l'onglet Données) divisé par le total des parties jouées 3 (Col. "I" de l'onglet Données) = 123,67 ( ARRONDI.INF = 123).
Après que le joueur ait joué la Sem.02 le total des quilles en Col. "H" de l'onglet Données s'accumule et devient Sem.01 371 + Sem.02 440 = 811. Le nombre de parties jouées en Col. "I" devient 6. Si on divise 811 par 6 = 135,16 (ARRONDI.INF = 135).
C'est là que mon problème commence. Étant donné que la formule dans les Col. D de chaque Sem. prend sa source dans la Col. 7, et que ce chiffre s'accumule après chaque Sem. jouée, ( Après la Sem.01, la Col. H de l'onglet Données indique 371, Après la Sem.02 elle indique 811...Etc...Etc..) Cette Col. est divisé par le chiffre en Col. "I" du même onglet et produit la moyenne dans la Col. G. (811 / 6 = 135,17. ARRONDI.INF = 135)
Comme la Col. D de la Sem.02 prend sa source dans la Col. 7 de l'onglet Données, la moyenne de la Col. D change au fur et à mesure que les Sem. s'accumulent. Aprés la Sem.03 la moyenne est maintenant de 139.
Ce que j'aimerais, si c'est possible, c'est que la moyenne des Sem. précédant l'exécution du dernier transfert demeure fixe et n'accumule pas toutes les données des Sem. ultérieures.
Ex: Si le dernier transfert est exécuté dans la Sem.03 et que la nouvelle moyenne indique 139, il faut que la moyenne de la
Sem.02 demeure à 135, et ce, sans effacer la formule dans la Col. D.
En d'autres mots, il faut supprimer l'effet de la formule dans la Col D des Sem. précédant le transfert sans effacer la formule. Est-ce possible de rendre une formule inactive tout en n'effaçant pas la formule ?
Merci encore et passe une belle journée.
Donc, si je comprend bien, tu modifie les valeurs (tu additionnes les nouvelles valeurs aux anciennes) en colonnes H et I de la feuille "Données" à chaque semaines ?
Si c'est le cas, ça ne peut pas marcher, il te faut créer des colonnes pour les quilles et parties pour chaque semaine car sinon, comment veux-tu garder en mémoire les valeurs passées et avoir les moyennes correspondantes ?
Bonjour Theze,
Merci beaucoup pour ton explication. Mes connaissances en formules et code VBA étant très limitées, je n'étais pas certain de ma question et j'ai osé croire que c'était possible.
Je crois que je vais m'en tenir à ta première suggestion quitte à remettre les formules dans les Col. D de chaque Sem., à la fin de chaque saison, pour qu'elles soient opérationnelles au début de la nouvelle saison. De cette façon je vais obtenir le résultat escompté.
Merci encore pour ton aide.
Je ferme le dossier