[Résolu] NOMBRE SI ENS : soustraction avec une condition

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.
hugohours1993
Fraîchement OOthentifié
Messages : 6
Inscription : 30 mai 2021 14:48

[Résolu] NOMBRE SI ENS : soustraction avec une condition

Message par hugohours1993 »


La modération vous a écrit: Le titre du sujet < Problème formule NOMBRE SI ENS > a été reformulé.
Le terme problème n'explique pas ce que vous cherchez à faire.

Bonjour,
J'essaye de faire un petit tableur de gestion de stock pour un parc locatif de vélos.
Je suis assez doué en excel mais j'avoue sur open office c'est plus compliqué.

Je n'arrive pas à faire fonctionner cette formule :

Code : Tout sélectionner

=10-SOMME.SI.ENS(I:I;C:C;C4<=$W$3;G4>=$W$3;$V$3>=G4)
En français, je veux faire une soustraction avec une condition :
10 renvoie à un chiffre simple définissant le stock total des vélos, disons 10 Vélos à Assistance électrique
I:I est la colonne correspond à un nombre de vélos louer ou réserver à des dates précises
C correspond à la colonne définissant la date du début de la location
W3 à la date du jour
C correspond à la colonne définissant la date du retour de la location

Soit STOCK TOTAL DE VELO ELECTRIQUE - SOMME DES VELOS LOUER (si et seulement si la date du début de réservation est plus petite ou égale à la date du jour et si la date de fin de location est supérieur ou égale à la date du jour) = STOCK DU JOUR

Cela bloque peut être dans la partie de comparaison des dates?

Merci d'avance, en espérant avoir été le plus claire possible.

Cordialement.
Dernière modification par hugohours1993 le 01 juin 2021 09:39, modifié 2 fois.
LibreOffice 7.1 windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9255
Inscription : 28 août 2010 08:45

Re: NOMBRE SI ENS : soustraction avec une condition

Message par micmac »

Bonjour et bienvenue sur le forum,
1-
Dans votre signature il y a écrit : OpenOffice 2.4 sous Windows XP
Votre signature fait mention d'une version d'OpenOffice qui n'est plus maintenue.
Si c'est une obligation, ou un choix mentionnez-le dans votre signature.
Si c'est une version de LibreOffice que vous n'avez pas pu entrer, essayez de nouveau.

Connaître la version de Apache OpenOffice (AOO) ou LibreOffice (LibO) installée

Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable

Dans votre signature il est nécessaire d'indiquer :
  1. la version exacte de AOO ou LibO (AOO 4.1.10, LibO 7.0.6 par exemple) ;
  2. la version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 20.04, macOS 11.4 par exemple).

Accès direct à votre signature pour la corriger.


2- Joindre un fichier facilite le travail des bénévoles et peut s'avérer fort utile pour obtenir une solution adaptée.
Comment joindre un fichier.

Cordialement.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: NOMBRE SI ENS : soustraction avec une condition

Message par Noonours »

Bonjour
Je tente une solution avec la fonction =SOMMEPROD() dans le fichier joint, je n'ai rien compris de tes explications :mrgreen:
hugohours1993.ods
Cordialement,
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"

Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER

LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: NOMBRE SI ENS : soustraction avec une condition

Message par Jean-Louis Cadeillan »

Bonsoir,
Pour aller vers une solution avec SOMME.SI.ENS() :

Code : Tout sélectionner

=10-SOMME.SI.ENS(I:I;C:C;"<="&$W$3;D:D;">="&$W$3)
N'ayant pas compris que la colonne C serve à la fois pour les dates de début et de fin de location, j'ai mis la date de fin de location en colonne D.
micmac a écrit :Joindre un fichier facilite le travail des bénévoles
+1 !
Dans ta formule, tu n’associais pas correctement l'opérateur (<= ou >=) et la valeur contenue dans W3 (la date du jour), tu ne donnais pas la plage pour la seconde condition et enfin tu mélangeais les valeurs et les conditions (argument 3).
Pour l'usage de SOMME.SI.ENS(), voir ici.
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1
hugohours1993
Fraîchement OOthentifié
Messages : 6
Inscription : 30 mai 2021 14:48

Re: NOMBRE SI ENS : soustraction avec une condition

Message par hugohours1993 »

Jean-Louis Cadeillan a écrit :Bonsoir,
Pour aller vers une solution avec SOMME.SI.ENS() :

Code : Tout sélectionner

=10-SOMME.SI.ENS(I:I;C:C;"<="&$W$3;D:D;">="&$W$3)
N'ayant pas compris que la colonne C serve à la fois pour les dates de début et de fin de location, j'ai mis la date de fin de location en colonne D.
micmac a écrit :Joindre un fichier facilite le travail des bénévoles
+1 !
Dans ta formule, tu n’associais pas correctement l'opérateur (<= ou >=) et la valeur contenue dans W3 (la date du jour), tu ne donnais pas la plage pour la seconde condition et enfin tu mélangeais les valeurs et les conditions (argument 3).
Pour l'usage de SOMME.SI.ENS(), voir ici.
Cordialement,
Jean-Louis
Bonjour,

Merci ça marche niquel, effectivement je m'étais planté sur la colonne C, pour la date de retour c'est une autre colonne.
Du coup je viens de tester ça marche niquel, je comprends mieux la logique de la formule, par contre à quoi sert le "&", il est indispensable quand on utilise des comparateurs?

En tout cas, problème résolu!

Merci !
LibreOffice 7.1 windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9255
Inscription : 28 août 2010 08:45

Re: NOMBRE SI ENS : soustraction avec une condition

Message par micmac »

Pour répondre à un message, utilisez plutôt le bouton RÉPONDRE et non le bouton CITER ce qui évite de citer l'ensemble du message précédent rendant parfois la lecture très difficile.
[b][color=#404080]hugohours1993[/color][/b] a écrit :problème résolu
Il est d'usage
  1. Il vous reste à ajouter manuellement au début du titre de votre premier message la balise [Résolu] (avec un R majuscule et sans oublier le e accentué, le tout entre crochets [ ])
  2. et cocher l'icône Image
Image
Adaptez la longueur du titre à 60 caractères maximum, balises comprises.

Cordialement
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: NOMBRE SI ENS : soustraction avec une condition

Message par Jean-Louis Cadeillan »

Bonjour,
hugohours1993 a écrit :à quoi sert le "&"
C'est un opérateur de concaténation, qui permet de souder deux chaînes de texte en une seule, les conditions (arguments 3, 5, etc.) de SOMME.SI.ENS() (et de SOMME.SI() aussi) sont traitées comme des chaînes de texte. Une condition, c'est un opérateur plus une valeur. Si W3 contient une fonction (AUJOURDHUI(), dans l'exemple), une condition sera "<="&AUJOURDHUI(), ce qui veut dire que AUJOURDHUI() retourne sa valeur numérique (31/05/21), cette valeur étant incorporée comme chaîne de texte à la condition.
hugohours1993 a écrit : il est indispensable quand on utilise des comparateurs ?
Non, ou pourrait mettre :

Code : Tout sélectionner

=SOMME.SI.ENS(I:I;C:C;"<=31-05-2021";D:D;">=31-5-2021")
ou

Code : Tout sélectionner

=SOMME.SI.ENS(I:I;C:C;"<=31/05/21";D:D;">=31/05/21")
ou encore :

Code : Tout sélectionner

=SOMME.SI.ENS(I:I;C:C;"<=44347";D:D;">=44347")
la valeur dans ces trois exemples est directement incorporée dans la condition, 44347 étant la représentation en nombre standard de 31/05/21 (le 44347e jour depuis le 30/12/1899).
Bien sûr dans ces trois cas, tu as découplé W3 de la fonction, le changement automatique de date du jour ne se fera plus !
Cordialement,
Jean-Louis
LibO 7.6.6.3 (x64 avec Java 1.8.0_411) et AOO 4.1.15 (avec Java x32 1.8.0_381), Windows 7 Édition Intégrale 64 SP1