Total selon date

Résolu
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 - 5 mai 2023 à 17:03
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 - 15 mai 2023 à 08:58

Bonjour,

Sur 2 tableaux, je cherche à faire une somme selon une date indiquée sur la feuille.

Tableau 1 et 2 ont la même structure (fichier en lien) : les noms des mois sont en ligne 3 à partir de la colonne B jusqu'à la M, puis "total annuel" en colonne N, et enfin "total à date" en colonne O.

La colonne A comporte les n° d'année (2016 à 2023 pour le moment, puis 2024 etc dans le futur). L'intérieur des tableaux comporte des nombres (formules appelant des nombres d'autres feuilles).

La cellule H2 contient la date sous forme JJ/MM/AAAA.

Le total à date permet de comparer à la date demandée, sur toutes les années précédentes, à quelle valeur nous étions : au 31/03/2023, la colonne O a donc en formule =SOMME(B4:D4) soit la somme de janvier + février + mars.

Pour la ligne 4 (année 2016) il faut comprendre que "pour un total annuel de 32 en 2016, nous étions en mars 2016 à 9". Même logique pour chaque année.

La ligne en dessous dans la même colonne aura donc =SOMME(B5:D5) et ainsi de suite.

Y a-t-il une fonction, une formule, permettant de calculer cela tout seul selon la date inscrite en H2 ? Ce peut être une autre date que la fin du mois et on prend quand même le mois indiqué. Un mois entamé est inclus même si la valeur est 0.

 https://cjoint.com/c/MEfpc38mobD

Merci pour votre aide (que je sollicite beaucoup ces derniers temps !!)

Excellent weekend à tous et toutes, et encore merci.


Windows / Edge 112.0.1722.68

6 réponses

Willzac Messages postés 269 Date d'inscription mercredi 27 septembre 2017 Statut Membre Dernière intervention 3 avril 2024 104
5 mai 2023 à 17:54

Bonsoir, 

Voici une solution : 

à mettre dans O4

=SOMME(INDIRECT(ADRESSE(LIGNE(B4);COLONNE(B4)) &":"&ADRESSE(LIGNE(B4);EQUIV(TEXTE($H$1;"mmmm");$A$3:$M$3;0);1;4)))

Willzac


1
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2
Modifié le 8 mai 2023 à 09:41

Bonjour !

merci, ça fonctionne très bien ! Elle a trop de niveau pour que je pige tout mais elle fonctionne au poil ! Ceci étant j'en comprends un peu le fonctionnement, à force d'essayer de la décortiquer.

Merci beaucoup !

0
yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 24 avril 2024 1 481
5 mai 2023 à 18:07

Bonjour

une autre proposition

=SOMMEPROD((COLONNE(B4:M4)-1<=MOIS($H$1))*(B4:M4))
1
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2
Modifié le 9 mai 2023 à 10:43

Bonjour,

ah... je n'ai pas du valider mon commentaire hier... donc : merci, cela fonctionne aussi !! par contre je ne comprends pas son fonctionnement, si vous voulez bien m'expliquer c'est top !

En tout cas merci !

0
yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 24 avril 2024 1 481 > stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024
9 mai 2023 à 10:57

Bonjour

SOMMEPROD fonctionne en matrice et applique la formule colonne par colonne

exemple pour la 1ere colonne

COLONNE(B4) donne le n° de colonne de la cellule B4 ici la 2éme colonne donc 2

-1 pour tester par rapport au mois de la cellule H1 (MOIS($H$1))

si COLONNE(B4)-1 est <= H1 alors VRAI donc 1

(B4)  rapatrie la valeur de B4 donc 2

1*(B4: ...) = 2

et idem pour C4 jusqu'à M4 et à la fin somme des valeurs rapatriées

SOMME PROD et un peu un SI multiple

0
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2 > yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 24 avril 2024
9 mai 2023 à 14:20

aie.. je ne comprends pas...

Je constate que le (-1) a une relation directe sur les colonnes qui seront prises dans le calcul mais je ne comprends pas comment.

Je pense que ce qui me bloque c'est la relation entre les n° de colonne, le -1 et le mois en H1.

-1 pour tester par rapport au mois de la cellule H1 (MOIS($H$1))

et

si COLONNE(B4)-1 est <= H1 alors VRAI donc 1

je ne comprends pas ces deux facteurs et leurs relations...

En tout cas ça fonctionne, pas de doute là-dessus, mais celle-là est dure à s'approprier !! :)

Merci.

0
yclik Messages postés 3593 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 24 avril 2024 1 481 > stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024
9 mai 2023 à 14:28

Je pense que ce qui me bloque c'est la relation entre les n° de colonne, le -1 et le mois en H1.

en B c'est la 2ème colonne de la feuille donc - 1 pour avoir le 1er mois

0
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426 > stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024
9 mai 2023 à 14:48

Bonjour,

aie.. je ne comprends pas...

Je constate que le (-1) a …..

​​​​​​​Juste au passage, vos valeurs sont de B4 :M4 c’est à dire colonnes 2, 3,…..13

Le mois (mois($H$1)) pour date 31.3.2023 renvoi valeur 3 ce qui est la troisième colonne de la plage B4 :M4 et le mois 3 se trouve en colonne 4 et pour la formule il faut  soustraire  (-1) pour avoir la valeur correcte..

En résumé colonne(B4 :M4) renvoie (2\3\4\5\6\7\8\9\10\11\12\13) on soustrait -1

Nous avons (1\2\3\4\5\6\7\8\9\10\11\12) qui sont les positions qui correspondent au mois recherché.

Si pas clair, me le faire savoir… !

0
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
5 mai 2023 à 18:48

Bonjour à tous,

Au cas où, pour une version Excel 365 uniquement, en O4 et à recopier vers le bas :

=SOMME(PRENDRE(B4:M4;;MOIS($H$1)))

Cordialement

1
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2
8 mai 2023 à 09:52

Bonjour !

je l'essaierai demain, je n'ai pas la même version à la maison que sur mon lieu de travail, qui lui est en 365 (en effet ça ne marche pas sur du 2019 lol)

merci !

0
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2
8 mai 2023 à 09:53

Merci à tout le monde pour vos réponses !!

Si vous en avez le temps, je veux bien des éclairages sur vos formules pour comprendre comment elles fonctionnent. Sinon ce n'est pas grave, dans tous les cas je vous remercie beaucoup pour le temps passé et les solutions trouvées !!!

Une belle épine du pied qui s'en va^^

merci !

1
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139
8 mai 2023 à 16:20

Bonjour à tous,

La fonction MOIS($H$1) donne le numéro du mois de 1 à 12 de la date en H1

La Fonction PRENDRE(B4:M4;;MOIS($H$1)), prend ainsi les trois premières colonnes de la ligne 4, et on en fait la somme

Sinon la formule donnée par LePingou, salutations, peut s'écrire :

=SOMME(DECALER(B4;;;;MOIS($H$1)))

valable pour toutes versions Excel

La fonction DECALER prend à partir de la cellule B4 une largeur de plage de trois cellules consécutives, et on en fait la somme.

Cordialement

1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426
5 mai 2023 à 18:20

Bonjour,

Une troisième possibilité: formule en O4 et tirer vers le bas

=SOMME(DECALER(A4;;NB(B4:M4;;MOIS($H$1))))

0
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2
8 mai 2023 à 09:50

Bonjour !

merci beaucoup ! je n'arrive pas à la faire fonctionner : Excel remonte une erreur "il existe une ou plusieurs références circulaires dans la formule". je ne vois pas où la formule se calcule elle-même et comme je ne la comprends pas, je n'arrive pas à trouver le bug. Je la mets en O4 comme les autres... j'ai décaler en P4 pour voir. 0 en résultat mais pas d'erreur d'Excel.

Merci !! 

0
Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024 1 426 > stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024
8 mai 2023 à 16:28

Bonjour,

Merci de votre retour.

Désolé, j'ai posté la mauvaise formule, voici la bonne:

=SOMME(DECALER(B4;0;0;;MOIS($H$1)))
1
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2 > Le Pingou Messages postés 12042 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 24 avril 2024
9 mai 2023 à 10:34

Oui, là ça marche au poil :)

merci !

0
stitchbouck Messages postés 117 Date d'inscription mercredi 12 janvier 2011 Statut Membre Dernière intervention 18 avril 2024 2
9 mai 2023 à 10:45

Bonjour,

Merci énormément pour vos retours ! Toutes les formules proposées fonctionnent sur le fichier final.

Pour les fonctions PRENDRE et DECALER, ok c'est clair.

Un grand merci à tout le monde !! problème résolu !

0