[Résolu] MIN et MAX sans prendre en compte zero

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.
shalia
Membre hOOnoraire
Membre hOOnoraire
Messages : 105
Inscription : 30 août 2012 11:12

[Résolu] MIN et MAX sans prendre en compte zero

Message par shalia »

Bonsoir ;)

Pour mon planning de Paie d'assistante maternelle, j'ai un soucis :
test.ods
Page 1, j'ai le planning d'accueil :
C à G c'est les horaires prévus, ils sont gérés en page "Feuille1"
H à L c'est les horaires effectués, que je note chaque mois.

J'ai un soucis lorsque l'enfant vient le matin ET l'après midi sans que ce soit prévu (exemple périscolaire prévu avant l'école et qui vient exceptionnelement après l'école), le total n'est pas bon car il prend en compte le ZERO de la colonne E. L25 pour exemple, note 20h au lieu de 3,67h.

J'ai mit des MIN et MAX afin que les horaires prévus soient comptés et que si l'enfant arrive en avance ou part en retard le soir, ça comptabilise aussi.

en clair, comment modifier ma formule "de fou" pour que si y'a une cellule vide, il ne la compte pas?

Merci d'avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 15 déc. 2013 18:57, modifié 2 fois.
Raison : Ajout de la balise [Résolu]. La coche seule est insuffisante
open office 4.0.1 WindowsSeven 64b
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: MIN et MAX sans prendre en compte zero

Message par Jeff »

Bonsoir,

Je ne comprends pas trop tes emplois de DECALER dans les formules en 1.D7:E7

Cela dit, le problème ne me semble pas tant dans la formule (que je trouve déjà bien assez complexe, et donc dur à modifier/déboguer), mais plutôt de mettre en garde contre un résultat erroné, puisque la saisie ne corresponds plus à ce qu’il y a en Feuille1.

Ne faudrait-il pas mieux mettre en place un formatage conditionnel en 1.L7:L50 qui averti qu’il n’y a pas d’horaire saisie en Feuille1.D12:E45 ?

Ou bien simplifier le calcul d’heure effectué en 1.L7:L50, qui prendrait en compte avec une simple addition les horaires effectif en 1.H7:K50, et rajouter des colonnes intermédiaires (qui peuvent être masquées) pour ensuite "corriger" le résultat ?

Les colonnes intermédiaires ne sont pas un mal nécessaires, elles simplifient les formules, donc leurs maintenances.

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon
shalia
Membre hOOnoraire
Membre hOOnoraire
Messages : 105
Inscription : 30 août 2012 11:12

Re: MIN et MAX sans prendre en compte zero

Message par shalia »

Bonsoir Jeff :)

Alors, en D7, E7 etc... C'est les formules qui récupèrent les horaires prévus, qui se trouvent en "feuille1" (automatique en fonction du numéro de semaine).

Le soucis de rajouter une colonne, c'est que ca va me décaler toutes mes formules, j'avais au départ un classeur, que j'utilise actuellement, avec seulement "heure d'arrivée prévue" et "heure de départ prévu" donc j'étais embêtée si l'enfant venait le matin avant école et revenait le soir, j'ai donc tout refais CAR quand j'ajoute une colonne, toutes les formules "foirent"

La formule est ok si accueil que le matin, que le soir, ou les deux, mais prévus.
Donc, dès qu'il y a une case vide, hop ça foire...

J'ai essayé d'ajouter un =<>" ou autre, mais j'arrive pas a trouver le bout de code qui fonctionnerait :fou:
open office 4.0.1 WindowsSeven 64b
Avatar de l’utilisateur
DLE
HédOOniste
HédOOniste
Messages : 1516
Inscription : 30 déc. 2007 18:56
Localisation : Lille

Re: MIN et MAX sans prendre en compte zero

Message par DLE »

Bonsoir,

En remplaçant dans la formule chaque instruction :

Code : Tout sélectionner

MIN(J25;E25)
par

Code : Tout sélectionner

SI(E25=0;J25;MIN(J25;E25))
Maintenant ça ne fait qu'alourdir la formule.

A+
MacOS Tahoe 26.3.1 (iMac-M4) : AOO 4.1.16 , LibreOffice 25.8.6.2, Adoptium-temurinJDK 1.8.0_402, CCC, FireFox, Thunderbird, ORB 1.2.1
Parallels Desktop = Windows 11 & MacOS : AOO, Libre Office.
shalia
Membre hOOnoraire
Membre hOOnoraire
Messages : 105
Inscription : 30 août 2012 11:12

Re: MIN et MAX sans prendre en compte zero

Message par shalia »

Bonsoir DLE,

Ca allourdi (à peine...) mais, ça marche :mrgreen: :mrgreen: :mrgreen:

Merciiiiiiii :D :D
open office 4.0.1 WindowsSeven 64b
Jeff
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10007
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: [Résolu] MIN et MAX sans prendre en compte zero

Message par Jeff »

shalia a écrit :Le soucis de rajouter une colonne, c'est que ca va me décaler toutes mes formules
Je ne parle pas nécessairement d'insérer des colonnes :wink:

Tu peux utiliser des colonnes à droite de ton tableau existant.

Pour la formule en L7 :

Code : Tout sélectionner

=SI(OU(ET(A7="";H7="");A7="CP";H7="ANJ");G7;SI(OU(H7="AJ";A7="A";A7="SS");0;SI((MAX(K7;F7)-MIN(J7;E7))+(MAX(I7;D7)-MIN(H7;C7))*24=0;"";SI(G7=0;(K7-J7)+(I7-H7)*24;(SOMME(MAX(K7;F7)-MIN(J7;E7);MAX(I7;D7)-MIN(H7;C7))*24)))))
Tu saisi en W7 tout ce qui concerne la valeur_si_faux de la formule, déjà assez complexe à maintenir :

Code : Tout sélectionner

=SI(OU(H7="AJ";A7="A";A7="SS");0;SI((MAX(K7;F7)-MIN(J7;E7))+(MAX(I7;D7)-MIN(H7;C7))*24=0;"";SI(G7=0;(K7-J7)+(I7-H7)*24;(SOMME(MAX(K7;F7)-MIN(J7;E7);MAX(I7;D7)-MIN(H7;C7))*24))))
Tu peux même choisir d'isoler la seconde fonction SI.

Ta formule en F7 devient :

Code : Tout sélectionner

=SI(OU(ET(A7="";H7="");A7="CP";H7="ANJ");G7;W7
A + :wink:
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.16 / Debian 13 "Trixie" / Xfce
AOO 4.1.15 / Debian 11 "Bullseye" / Cinnamon