[Résolu] Calcul de double séquençage

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.
Cranedobus
Fraîchement OOthentifié
Messages : 9
Inscription : 06 juin 2021 09:33

[Résolu] Calcul de double séquençage

Message par Cranedobus »

Bonjour,
Le tableau simplifié joint vaut mieux que de longues explications.
Dans ce classeur, une feuille "Base" donne les séquences et les tâches à révéler par jour, au jour de l'ouverture du tableau.
Les tâches à séquences régulières ne me poseraient pas trop de problèmes, celles de type par exemple, pendant 2 jours et pas le 3ème jour à partir d'une date de départ est plus complexe, si bien que j'ai recours à un double séquençage dont l'un implique l'autre.
Le tableau journalier implique de l'ouvrir tous les jours. Sur la feuille suivante "Mois", j'ai créé un tableau pour avoir une vision mensuelle à imprimer de sorte qu'un rappel consiste à consulter simplement l'impression.
Je trouve trop complexe la répétition d'un double séquençage comme sur le tableau "Base", ce qui m'amène à espérer qu'il existe peut-être une formulation de fonctions plus simples pour toutes les cellules (nb tâches * 31 jours) et tous les cas exposés dans "Base".
C'est dans la recherche de cette solution que je fini par tourner en rond depuis longtemps.
Si quelqu'un à une idée plus simple que la mienne (à part de remplir le tableau au clavier :wink: ).
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 21 juil. 2021 03:15, modifié 2 fois.
Raison : Ajout de la coche verte
Libre Office 6.0.7.3 sous Linux Mint XFCE 19.3
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1665
Inscription : 15 déc. 2010 08:33

Re: Calcul de double séquençage

Message par yclik »

Bonjour
pas tout compris
une piste avec formule en feuille mois ligne 10
cranedobus.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 10
Cranedobus
Fraîchement OOthentifié
Messages : 9
Inscription : 06 juin 2021 09:33

Re: Calcul de double séquençage

Message par Cranedobus »

Bonjour yclik et merci pour ton intervention.
En effet, c'est en portant clairement les données du problème que la solution peut naître.
Actuellement, c'est monstrueux et peu maîtrisable de rassembler mes formules du tableau journalier "Base" en une seule formule par cellule du tableau mensuel "Mois".
Il faudrait que j'entre les conditions dans un tableau pour construire une formule algébrique par cas, à additionner et réduire ensuite comme on le faisait en seconde technique (il y a 40 ans); j'ai perdu les bases et il reste à adapter tout ça pour le tableur. :roll:
Ta formule m'ouvre une voie mais je dois l'adapter pour qu'elle réponde aux conditions de la séquence ligne 10, c'est à dire : tous les jours (oui = 1) sauf tous les 3 jours (non = 3), partant toujours de la date de départ colonne "C" de la feuille "Base".
L'avantage du tableur est de pouvoir modifier les séquences en jouant sur les entrées des colonnes "C" à "G" de la feuille "Base", au prix de réimprimer la feuille "Mois".
:fou:
Libre Office 6.0.7.3 sous Linux Mint XFCE 19.3
Cranedobus
Fraîchement OOthentifié
Messages : 9
Inscription : 06 juin 2021 09:33

Re: Calcul de double séquençage

Message par Cranedobus »

Je reprends le sujet plus tardivement que souhaité suite à un problème technique avec l'ordinateur d'origine.
J'avais avancé sur la question en cours et peux le partager ici.
Tout d'abord j'ai planché sur un organigramme informatique, non exemplaire mais qui m'a parlé pour la suite.

Il est en pièce jointe PDF sous le nom de : "Organigramme".

Sur cette base, j'ai tenté d'élaborer la formule par étapes, de la manière suivante.

Les majuscules de "A" à "E" de l'organigramme désignent une condition incluse.

Savoir quels jours faire chaque action ou à l'inverse ne pas la faire dans un déroulé régulier, demande de savoir quand la séquence "a faire" ou "arrêter" est multiple du nombre de jour ("Nj") séparant la date de départ de chaque action, de la date soit actuelle (tableau "Base", soit par jour du mois en cours (tableau "Mois").

En suivant l'organigramme "ENCHAÎNEMENT DES CONDITIONS" :

Selon l'organigramme :

Pour le tableau "Base" cellule "H7" à recopier vers le bas :

Préparatifs pour le tableau feuille "Base" :

Entrée : si(d7="";B;A)

A : si(mod(g7;d7)=0;C;"")
B : si(f7="";"";D)
C : si(e7="";"X";E)
D : si(g7=0;"X";"")
E : si(mod(g7;e7)=0;"";"X")

Synthétisation :

Code : Tout sélectionner

=si(d7="";si(f7="";"";si(g7=0;"X";""));si(mod(g7;d7)=0;si(e7="";"X";si(mod( g7;e7)=0;"";"X"));""))
Pour le tableau 'Mois", cellule "E7" recopiée vers "AI36" (avant formatage du tableau) :

Préparatifs pour le tableau feuille "Mois":

Entrée : si($Base.$d7="";B;A)

A : si(mod($Base.i7;$Base.$d7)=0;C;"")
B : si($Base.$f7="";"";D)
C : si($Base.$e7="";unicar(10004);E)
D : si($Base.i7=0;unicar(10004);"") --> la colonne i est relative
E : si(mod($Base.i7;$Base.$e7)=0;"";unicar(10004))

Synthétisation pour "Mois" :

Code : Tout sélectionner

=si($Base.$d7="";si($Base.$f7="";"";si($Base.i7=0;unicar(10004);""));si(mod($Base.i7;$Base.$d7)=0;si($Base.$e7 ="";unicar(10004);si(mod($Base.i7;$Base.$e7)=0;"";unicar(10004)));""))
Pour finir j'ai inscrit ces formules dans mon classeur, ici sous forme dépersonnalisée : "Tâches journalières.ods", et apparemment ça semble fonctionner, mais au prix d'un tableau intermédiaire calculant un nombre de jours par tâche et par journée du mois en cours.

Si quelqu'un sait trouver un modèle de formule plus directe et simple, je suis preneur.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office 6.0.7.3 sous Linux Mint XFCE 19.3
Cranedobus
Fraîchement OOthentifié
Messages : 9
Inscription : 06 juin 2021 09:33

Re: Calcul de double séquençage

Message par Cranedobus »

Rien d'autre ? Donc je porte ce sujet comme résolu.
Libre Office 6.0.7.3 sous Linux Mint XFCE 19.3