[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.

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

Messagepar cocoa92 » 10 Mai 2019 23:12

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 édition par Oukcha le 15 Mai 2019 08:16, édité 1 fois.
Raison: Titre raccourci pour balisage + balisage
Mac OS Sierra 10.12.6
Open office Apache 4.1.3
cocoa92
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 10 Mai 2019 20:20

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

Messagepar micmac » 10 Mai 2019 23:14

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
Dans votre signature vous devez préciser la ou les versions exactes d'OpenOffice ou de LibreOffice et du ou des systèmes utilisés.
Exemple : AOO 4.1.6 (version imposée selon le cas) sous Win7 SP1, Win 8.1, Win 10, macOS 10.14.5, Ubuntu 18.10...
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
 
Message(s) : 5833
Inscrit le : 28 Août 2010 09:45

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

Messagepar njhub » 11 Mai 2019 02:25

Bonjour cocoa92,

Essayez avec une formule du type :
Code : Tout sélectionner   AgrandirRéduire
=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 (fr_YT): 6.1.4.2 (26/12/2018)
OS : Windows 10.0
njhub
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 141
Inscrit le : 18 Juin 2017 06:43
Localisation : 976

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

Messagepar cocoa92 » 11 Mai 2019 22:11

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 !
Pièces jointes
Capture d’écran tableau Cocoa92.jpg
Mac OS Sierra 10.12.6
Open office Apache 4.1.3
cocoa92
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 10 Mai 2019 20:20

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

Messagepar OOotremer971 » 11 Mai 2019 22:55

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
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 1963
Inscrit le : 16 Avr 2010 14:31

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

Messagepar OOotremer971 » 11 Mai 2019 23:31

Essaye avec cette formule et si ça ne fonctionne pas, merci de joindre un fichier exemple :
Code : Tout sélectionner   AgrandirRéduire
=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
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 1963
Inscrit le : 16 Avr 2010 14:31

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

Messagepar cocoa92 » 12 Mai 2019 10:23

OOotremer971 a écrit:Essaye avec cette formule et si ça ne fonctionne pas, merci de joindre un fichier exemple :
Code : Tout sélectionner   AgrandirRéduire
=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
cocoa92
Fraîchement OOthentifié
 
Message(s) : 3
Inscrit le : 10 Mai 2019 20:20

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

Messagepar OOotremer971 » 12 Mai 2019 12:16

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   AgrandirRéduire
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   AgrandirRéduire
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   AgrandirRéduire
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   AgrandirRéduire
(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   AgrandirRéduire
(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   AgrandirRéduire
=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   AgrandirRéduire
=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
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 1963
Inscrit le : 16 Avr 2010 14:31


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)