[Résolu] Calculer somme d'heures sur les dix derniers mois

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
cocoa92
Fraîchement OOthentifié
Messages : 3
Inscription : 10 mai 2019 19:20

[Résolu] Calculer somme d'heures sur les dix derniers mois

Message par cocoa92 »

Bonjour,

Au sein d'un tableau que j'ai effectué afin de comptabiliser mes heures de cachets d'intermittence (502h sur les dix derniers mois), j'ai répertorié mes heures par mois sur 2018 et 2019 (les mois sont les lignes, les heures en une colonne).

J'aimerai pouvoir automatiser le calcul de la somme de mes heures sur les dix derniers mois de manière à ce que dès que j'ouvre mon fichier Calc, le tableau affiche automatiquement mon cumul d'heures sur les dix derniers mois.

Je suppose qu'il faut utiliser la fonction =SOMME.SI, mettre en PLAGE toute ma colonne de mois (en sélectionnant les les mois, ici D71:D118), mettre en PLAGE_SOMME la colone des heures (ici G71:G118), mais c'est la case PLAGE_SOMME que je n'arrive pas à remplir, j'ai essayé SOMME(AUJOURDHUI()-270):MOIS(AUJOURDHUI()) mais ça me donne "Err :502". Ici 270 correspond au nombre de jours pour 10mois.

Si quelqu'un a eu la patience de lire ce message et a compris je suis tout ouï !
Dernière modification par Oukcha le 15 mai 2019 07:16, modifié 1 fois.
Raison : Titre raccourci pour balisage + balisage
Mac OS Sierra 10.12.6
Open office Apache 4.1.3
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9258
Inscription : 28 août 2010 08:45

Re: Calculer une somme d'heures sur les dix derniers mois

Message par micmac »

Bonjour,

En joignant votre fichier dépersonnalisé ou un exemple de fichier au format ODF, vous facilitez la tâche des personnes qui vont vous aider.
Comment joindre un fichier
Comment dépersonnaliser un document
Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
njhub
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 497
Inscription : 18 juin 2017 05:43
Localisation : 976

Re: Calculer une somme d'heures sur les dix derniers mois

Message par njhub »

Bonjour cocoa92,

Essayez avec une formule du type :

Code : Tout sélectionner

=SOMME.SI.ENS(G:G;D:D;">="&DATE(SI(MOIS(AUJOURDHUI())>10;ANNEE(AUJOURDHUI());ANNEE(AUJOURDHUI())-1);MOIS(AUJOURDHUI())+2;JOUR(AUJOURDHUI()));D:D;"<="&AUJOURDHUI())
LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
OS : Windows 11.0
cocoa92
Fraîchement OOthentifié
Messages : 3
Inscription : 10 mai 2019 19:20

Re: Calculer une somme d'heures sur les dix derniers mois

Message par cocoa92 »

Bonjour,
merci pour vos réponses rapides,

Je joins un screen de mon fichier, a gauche de l'écran mon tableau, a droite la fenêtre de saisie.

@njhub : j'ai essayé la ligne de saisie, ça me donne "#NOM ?"

Je précise que je suis néophyte dans les tableaux "avancés"

merci d'avance !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Mac OS Sierra 10.12.6
Open office Apache 4.1.3
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Calculer une somme d'heures sur les dix derniers mois

Message par OOotremer971 »

Bonjour,
cocoa92 a écrit :@njhub : j'ai essayé la ligne de saisie, ça me donne "#NOM ?"
C'est normal, la syntaxe du genre (G:G;D:D) que te propose njhub ne fonctionne pas avec AOO. Je lui ai déjà dis plusieurs fois mais il ne tient pas compte de la signature des membres lorsqu'il répondI. Il pense que LibreOffice et AOO c'est pareil mais ce n'est pas le cas. ll faut définir des plages du genre G1:G100;D1:D100.

L'erreur que tu montres dans ta capture, provient probablement des deux points (:) situé entre 270) et MOIS (270):MOIS(AUJOURDHUI()). Un point virgule serait préférable.

Après, il est préférable de joindre un fichier exemple, pas un capture d'écran. C'est plus facile pour proposer des solutions fiables.

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Calculer une somme d'heures sur les dix derniers mois

Message par OOotremer971 »

Essaye avec cette formule et si ça ne fonctionne pas, merci de joindre un fichier exemple :

Code : Tout sélectionner

=SOMMEPROD((D71:D118>=MOIS.DECALER(AUJOURDHUI();-10))*(D71:D118<=AUJOURDHUI())*(G71:G118))
A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
cocoa92
Fraîchement OOthentifié
Messages : 3
Inscription : 10 mai 2019 19:20

Re: Calculer une somme d'heures sur les dix derniers mois

Message par cocoa92 »

OOotremer971 a écrit :Essaye avec cette formule et si ça ne fonctionne pas, merci de joindre un fichier exemple :

Code : Tout sélectionner

=SOMMEPROD((D71:D118>=MOIS.DECALER(AUJOURDHUI();-10))*(D71:D118<=AUJOURDHUI())*(G71:G118))
A+
Et bien ça a l'air de fonctionner merci beaucoup ! J'ai pas trop compris la formule mais le résultat est là !

OOotremer971 si ça ne te dérange pas tu voudrais bien m'expliquer comment elle fonctionne ? a quoi servent "SOMMEPROD", ">=" et "MOIS.DECALER". C'est beaucoup plus simple d'apprendre de quelqu'un que depuis une doc...

Merci encore en tout cas !
Mac OS Sierra 10.12.6
Open office Apache 4.1.3
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Calculer une somme d'heures sur les dix derniers mois

Message par OOotremer971 »

Bonjour,
cocoa92 a écrit :C'est beaucoup plus simple d'apprendre de quelqu'un que depuis une doc
Effectivement ça évite les recherches infructueuses, les maux de tête et le temps perdu à chercher au mauvais endroit :)
MOIS.DECALER() décale une date (premier argument) du nombre de mois en plus ou en moins que tu lui passes en deuxième argument.

Code : Tout sélectionner

MOIS.DECALER(AUJOURDHUI();-10)
nous transporte exactement 10 mois en arrière ; ce qui est équivalent à ton AUJOURDHUI()-270 à la différence près que la fonction tient compte du nombre de jour exact de chaque mois.
SOMMEPROD() est une fonction matricielle dont la principale vertu est de créer des tableaux virtuels pour t'éviter d'utiliser des colonnes intermédiaires pour effectuer tes calculs et d'en extraire la synthèse.

Code : Tout sélectionner

D71:D118>=MOIS.DECALER(AUJOURDHUI();-10)
crée un colonne virtuel de valeurs booléennes VRAI ou FAUX si le contenu de la colonne D est supérieur ou égal à aujourd'hui moins 10 mois. Si tu veux vraiment bien comprendre, saisis en AA71 de ton fichier :

Code : Tout sélectionner

D71>=MOIS.DECALER(AUJOURDHUI();-10)
et étire la formule vers le bas jusqu'à la ligne 118. Tu constateras que ta colonne se rempli de 1 ou 0 (ou VRAI ou FAUX) selon que la date de la colonne D est supérieure ou inférieure à aujourd'hui moins 10 mois

Code : Tout sélectionner

(D71:D118<=AUJOURDHUI())
Fait la même chose. Elle retourne VRAI ou 1 si la date de la colonne D est inférieure à aujourd'hui. En AB71, colle la formule suivante et étire la vers le bas comme la précédente :

Code : Tout sélectionner

(D71<=AUJOURDHUI())
En faisant la synthèse des deux colonnes obtenues précédemment, on connaît exactement les lignes concernées par les date comprises entre aujourd'hui et aujourd'hui moins dix mois.
Pour vérifier, en AC71 écris et étire vers le bas :

Code : Tout sélectionner

=AA71*AB71 
tu va constater que seules les lignes dont la date en colonne D est comprises entre aujourd'hui et aujourd'hui moins dix mois affichent VRAI ou 1.

Maintenant (et après c'est fini), tu multiplies le contenu de la colonne AC nouvellement obtenue par celui de ta colonne G. En AD71 à étirer vers le bas :

Code : Tout sélectionner

=AC71*G71
Reste plus qu'à faire la somme des valeurs obtenues en colonne AD.

Voilà SOMMEPROD vient de t'éviter toutes ces manipulations. :P

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11