[Résolu] Fonction intégrant une variable couleur

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.
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

[Résolu] Fonction intégrant une variable couleur

Message par RIANI »

Bonjour à tous,

J'ai pas mal cherché sans trop de succès la résolution de mon pb. Je cherche à intégrer dans une fonction (Sommeprod, index equiv, Recherchev, Sommesi...) une variable couleur.

J'ai trouvé une fonction macro sous Excel je suppose :

Code : Tout sélectionner

Function CodeColor(rng As Range) As Long
 Application.Volatile
 CodeColor = rng.Interior.Color
End Function
Ne sachant pas quels sont les niveaux d'incompatibilité il y a entre Calc et Excel, je ne saurais pas si celle ci fonctionne.

En gros, j'aimerai pouvoir utiliser la variable couleur à la place de la variable donnée.

Dans l'exemple en PJ, j'aimerai faire une somme sur une plage donnée des variables avec la couleur bleu.

Je vous remercie pour votre aide.

Je suis sous libreoffice 6.2
Ubuntu 18.04
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par RIANI le 30 sept. 2019 09:01, modifié 1 fois.
LibreOffice 6.2 sous Ubuntu 18.04
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12228
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: Fonction intégrant une variable couleur

Message par Bidouille »

RIANI a écrit :J'ai trouvé une fonction macro sous Excel
Merci de (re)lire le bandeau rouge en haut de la page.
RIANI a écrit :Ne sachant pas quels sont les niveaux d'incompatibilité il y a entre Calc et Excel
Vous venez de poser la question qui tue.
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Effectivement, c'est la question qui tue.

Je n'ai pas posté dans la section éponyme car j'aimerai éviter d'avoir à faire à la macro.

Si les membres de la communauté me disent que c'est le seul moyen viable, il faudra déplacer mon sujet. J'espère ne pas avoir à le faire et pouvoir trouver une solution sans macro.
LibreOffice 6.2 sous Ubuntu 18.04
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Fonction intégrant une variable couleur

Message par OOotremer971 »

Bonjour,

Tu devrais trouver ton bonheur dans ce fil : [OXT] Fonction Calc pour compter les styles

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Merci pour ton retour. J'ai testé mais ça ne convient malheureusement pas.
Le truc qui me manque dans cette extension, c'est qu'au lieu d'être obligé d'utiliser une cellule de référence dans laquelle tu es obligé d'avoir la formule style.cellule, c'est de pouvoir le faire avec la cellule qui contient le style sans devoir appliquer une formule à celle ci car elle sera déjà complétée par des données.
LibreOffice 6.2 sous Ubuntu 18.04
Avatar de l’utilisateur
Noonours
PassiOOnné
PassiOOnné
Messages : 501
Inscription : 11 mai 2013 00:11
Localisation : Aix en Provence

Re: Fonction intégrant une variable couleur

Message par Noonours »

Bonjour
c'est qu'au lieu d'être obligé d'utiliser une cellule de référence dans laquelle tu es obligé d'avoir la formule style.cellule, c'est de pouvoir le faire avec la cellule qui contient le style sans devoir appliquer une formule à celle ci car elle sera déjà complétée par des données.
:marto: Je ne suis pas sur d'avoir compris, mais ça ressemble à un problème XY.

Pourrais-tu nous expliquer comment sont choisies les cellules qui seront colorées en jaune? en orange? en bleu? Est-ce une Mise en Forme Conditionnelle? (MFC?)
Il y a peut-être moyen d'arriver à tes fins si le choix de la couleur est déterminable par une formule.

Cordialement,
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
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Fonction intégrant une variable couleur

Message par OOotremer971 »

RIANI a écrit :Dans l'exemple en PJ, j'aimerai faire une somme sur une plage donnée des variables avec la couleur bleu.
Je pense que tu n'a pas bien compris comment fonctionne l'extension car elle est capable de faire la somme du contenu des cellules de style bleu (sous entendu cellule ayant un style bleu appliqué par le styliste) mais elle est aussi capable de compter combien de cellules bleues contient cette plage.

Ou alors tu as mal formuler ta requête.

Est-ce que tu peux compléter manuellement ton tableau exemple afin qu'on puisse voir le résultat souhaité et te montrer que la fonction sait le faire.

A+
 Ajout : Sur la capture suivante, tu peux voir le résultat obtenu en H2 pour la somme des cellules oranges de la plage B2:B6 et la formule utilisée dans la barre de formule :

Code : Tout sélectionner

=COUNTSTYLE(B2:B6;"Orange";1)
RIANI_1.png
et sur la suivante, en J2, le nombre de cellule oranges de la plage B2:B6 :

Code : Tout sélectionner

=COUNTSTYLE(B2:B6;"Orange")
RIANI_2.png
:? 
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Effectivement le fait de dissocier dans mon tableau la formule du nombre et celle de la somme peut induire en erreur.
En fait ce que j'aimerai faire c'est par exemple la division entre la formule somme couleur / la formule nombre couleur le tout dans la même cellule.

Pour te répondre noonours, j'aimerai calculer la trésorerie réelle d'un projet sur la base de la trésorerie totale d'une structure.
Dans mon cas, la somme des trésoreries de projets seraient égale à la trésorerie de structure.
Il est plutôt simple de déterminer la trésorerie d'une structure, mais la dé-compartimenter par projet devient bien plus complexe car chaque projet beneficie de fonds qui sont versées par des financeurs, et certaines fonds sont multi projets et d'autres dédiés à un projets.

Les couleurs déterminent par colonne le nombre de conventions de financement. Par exemple une colonne avec 3 couleurs différentes veut dire qu'il y a 3 demandes de subventions, ces 3 demandes peuvent être affectées à 1 ou plusieurs projets, c'est pourquoi on peut avoir la même couleur sur 5 lignes différentes de la mm colonne.

Je ne sais pas si j'ai été super clair du coup
LibreOffice 6.2 sous Ubuntu 18.04
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

OOotremer971 a écrit :
RIANI a écrit :Dans l'exemple en PJ, j'aimerai faire une somme sur une plage donnée des variables avec la couleur bleu.
Je pense que tu n'a pas bien compris comment fonctionne l'extension car elle est capable de faire la somme du contenu des cellules de style bleu (sous entendu cellule ayant un style bleu appliqué par le styliste) mais elle est aussi capable de compter combien de cellules bleues contient cette plage.

Ou alors tu as mal formuler ta requête.

Est-ce que tu peux compléter manuellement ton tableau exemple afin qu'on puisse voir le résultat souhaité et te montrer que la fonction sait le faire.

[/ajout]
Tu as raison OOotremer971, j'ai pas super bien exprimé ma demande. Ce que tu met dans ton exemple fonctionne avec la formule
LibreOffice 6.2 sous Ubuntu 18.04
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Je vais essayé de travaillé un fichier concret avec les 2 onglets principaux et la disposition des tableaux pour appréhender le pb dans sa globalité.
Merci pour vos retours

La modération vous a écrit: Merci de ne pas poster plusieurs messages à la suite. Vous disposez d'un bouton Éditer en haut à droite de chaque message et d'un autre bouton ajout si vous désirez ajouter un complément lorsqu'il n'y a pas de réponse.

LibreOffice 6.2 sous Ubuntu 18.04
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Fonction intégrant une variable couleur

Message par OOotremer971 »

RIANI a écrit :En fait ce que j'aimerai faire c'est par exemple la division entre la formule somme couleur / la formule nombre couleur le tout dans la même cellule.

Code : Tout sélectionner

=COUNTSTYLE(B2:B6;"Orange";1)/COUNTSTYLE(B2:B6;"Orange")
Donne 175 comme résultat.

Bon ! pour tout dire, je ne comprends absolument rien à ce que tu ne comprends pas. Désolé.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »


La modération vous a écrit: Suppression de l'icône Image
Les icônes mises à votre disposition ont une signification précise sur ce forum.
Veuillez consulter ce fil pour en savoir plus : https://forum.openoffice.org/fr/forum/ftopic3299.html

Bonjour à tous,

Ça m'a pris un peu de temps, mais voici en PJ un exemple complet.
Après réflexion, je ne dispose pas de toutes les variables pour calculer le solde de tréso (il me manque les décaissements par activité), c'est pourquoi je vais me concentrer sur la partie encaissement par activité.

Ce que je cherche à renseigner par l’intermédiaire d'une formule c'est l'onglet "Encaissement par activité". Les 2 premiers onglets sont des données dont je dispose.

En voulant schématiser mon besoin j'ai remarqué qu'il me manquait des variables pour faire le lien entre mes 2 premiers onglets que j'ai ajouté.

Merci par avance de vos retours.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 6.2 sous Ubuntu 18.04
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Fonction intégrant une variable couleur

Message par Jean-Louis Cadeillan »

Bonsoir,
Si je reprends uniquement ton dernier message (les précédents me sont passés au-dessus), je pense que tu veux faire la somme des encaissements par activité. Si je l'exprime d'une manière plus détaillée, pour la cellule B2 de la feuille Encaissement par activité, il s'agit de faire la somme de tous les montants de la colonne S (TOTAL 2019) de la feuille encaissements dans lesquels l'activité 211B (valeur trouvée en A2 de Encaissement par activité) est impliquée. Mais il y a un vice dans mon raisonnement, c'est que certains encaissements correspondent à plusieurs activités. Par exemple, les 55 470,80 € du financeur Collectivité – Conseil Régional correspondent aux activités 211B,213,224,340,500B,500E,600 : comment ventiler les 55 470,80 € selon ces activités ? Croiser cette somme avec les valeurs trouvées en colonne M (Collectivité – Conseil Régional) de la feuille budget activité ne permet pas malheureusement pas de lever l’ambiguïté !
Je joins néanmoins un fichier où en B2 de la feuille Encaissement par activité, j'ai mis la formule :

Code : Tout sélectionner

=SOMMEPROD(NON(ESTERR(TROUVE(A2;SUPPRESPACE(Activite))));Total_2019)
Activite est la plage nommée $encaissements.$C$2:$C$41 et Total_2019 la plage nommée $encaissements.$S$2:$S$41, formule qui fait bien la somme de tous les montants encaissés venant de financeurs participant à l'activité 211B (cellule A2). Je n'ai pas distingué les financements antérieurs ou postérieurs à 2019. Bien sûr, la somme totale est beaucoup plus élevée que le total des sommes perçues puisque certains montants sont comptés plusieurs fois (autant de fois que d'activités auxquelles ils participent)...
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
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
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Merci Jean Louis pour ton retour.
En fait, la colonne B doit bien faire la somme des encaissements par activité.
Par encaissement par activité j'entends, la somme des encaissements à aujourd'hui (donnée évolutive, jusqu'à la colonne septembre 2019 dans notre exemple et le mois suivant ce sera octobre) liée à l'activité en question.
La difficulté c'est que l'onglet encaissement regroupe plusieurs activités en une seule ligne (voir colonne actvité, que j'ai séparé par une virgule). C'est pourquoi j'ai ajouté l'onglet budget par activité, qui lui va permettre de faire la répartition des encaissements en fonction de ce qui a été budgété.

Par exemple pour le financement "Collectivité – Dijon Métropole", nous avons obtenu 200k d'encaissements pr le FIN1 et 210K€ pour le FIN2. Dans ce cadre, il faut répartir les 200k€ sur l'ensemble des activités liées à ce financement dans Budget par activité.

Pour couronner le tout, dans l'onglet budget par activité, il peut y avoir plusieurs Financements sur la mm colonne. C'est pourquoi j'ai utilisé les styles FIN1 FIN2 FIN3, pour les différencier.
Exemple : La catégorie "FSE – DIRECCTE" dans budget par activité regroupe 2 financements (FIN1, FIN2), qui sont traduit dans l'onglet encaissement sur 2 lignes différentes. Chacune de ces lignes reprend l'activité correspondante.

Pour vérification, dans mon tableau, l'onglet encaissement par activité le total calculé doit être égal à la somme des encaissements par activité.
LibreOffice 6.2 sous Ubuntu 18.04
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 5753
Inscription : 02 janv. 2009 23:56

Re: Fonction intégrant une variable couleur

Message par Jean-Louis Cadeillan »

Bonjour,
Si l'encaissement correspond à la somme budgétisée, je comprends ta démarche, mais s'il est inférieur, comment fait-on ?
Jean-Louis Cadeillan a écrit :Par exemple, les 55 470,80 € du financeur Collectivité – Conseil Régional correspondent aux activités 211B,213,224,340,500B,500E,600 : comment ventiler les 55 470,80 € selon ces activités ?
Collectivité – Conseil Régional a 2 financements, l'un de 57 318,52 €, l'autre de 66 288,00 €. La somme encaissée du premier est de 55 470,80 € < 57 318,52 €... alors, comment ventiler ?
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
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Le financeur collectivité Conseil regional a 2 financements, le premier pr 79244€ et l'autre pour 66288€.
Ces financements ont été partiellement perçus.
Pour la répartition, il faut calculer le taux d'intervention dans chaque projet par financement à partir de l'onglet "budget par activité ".

Concernant l'exemple, si il y a une incompatibilité de données entre les onglets, a voir ce qui peut-être modifié.

Si il y a une prévision inférieure ou supérieure entre l'onglet "encaissement" et "budget par activite" alors il faut afficher un message indiquant l'incompatibilité et l'impossibilité de calcul.

Dans l'exemple du financeur collectivité Conseil régional on devrait avoir en resultat :
activité - collectivité CR - total prev - encaissé
211B - 35,88 % - 79 244 € - 19 902 €
213 - 21,69 % - 79 244 € - 12 029 €
224 - 3,03 % - 79 244 € - 1 683 €
340 - 11,73 % - 79 244 € - 6 509 €
422B - 100,00 % - 66 288 € - 0 €
600 - 27,67 % - 79 244 € - 15 348 €

En PJ le fichier actualisé pour obtenir le ratio par activité et financeur.

En voulant créer la formule, je me rend compte que ce qui me manque c'est trouver une formule qui m'évite de répéter la syntaxe manuellement pour chaque financeur :fou:
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 6.2 sous Ubuntu 18.04
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

UP !
LibreOffice 6.2 sous Ubuntu 18.04
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Personne n'a une piste ?
LibreOffice 6.2 sous Ubuntu 18.04
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

Bon je pense que je n'aurai pas de réponse à mon interrogation.
Est ce qu'un admin peut me donner la marche à suivre pour clore ou inscrire en non résolu le post.
Merci d'avance
LibreOffice 6.2 sous Ubuntu 18.04
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Fonction intégrant une variable couleur

Message par Jeff »

Bonjour,

Je viens de jeter un coup d’œil à ton fichier... et je n'ai effectivement pas de réponse à apporter :?

Je pense que le sujet principal évoqué par ton titre "Fonction intégrant une variable couleur" est traité et est résolu par l'ajout de l'extension conseillée plus haut dans ce fil ; le présent fil serait alors à clôturer en suivant la procédure décrite ici : https://forum.openoffice.org/fr/forum/v ... 490#p18490

Tu aurais également un problème concernant les répartitions des taux d'intervention, qui est à mon point de vue un autre sujet à créer ; cela dit, je n'ai pas compris (et vue l'absence de réponse, je ne dois pas être le seul) le résultat à obtenir.
Dans ton prochain fil de discussion, il te faudra probablement détailler d'avantage le résultat obtenu vs le résultat souhaité :)

A +
RIANI
Membre lOOyal
Membre lOOyal
Messages : 30
Inscription : 06 nov. 2017 20:45

Re: Fonction intégrant une variable couleur

Message par RIANI »

compris Jeff merci pour ton retour précis.
LibreOffice 6.2 sous Ubuntu 18.04