[Résolu] Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

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.
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

[Résolu] Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Seb1258 »

Bonjour à tous,

Tout d'abord, je vous pris de m'excuser pour le sujet, je n'ai pas trouvé mieux...

Vous trouverez en PJ un tableau que je suis en train de faire et pour lequel j'aurais besoin d'un coups de main sur une formule.

Je vais prendre pour exemple la feuille "Janvier_AFIS" et la cellule "I18" (si une formule est faisable, je recopierai dans les autres feuilles). Dans cette cellule je souhaiterai pouvoir compter le nombre de vacation d'un agent. A savoir qu'il ne peut y avoir qu'une vacation par jour, même si l'agent à fait plusieurs intervention dans la même journée.

Pour exemple, sur la feuille "Janvier_AFIS" l'agent TEST1 n'a le droit qu'a 1 vacation pour le 01/01/2025 (malgré 2 interventions) et l'agent TEST2 également.

J'ai fais plusieurs tentative mais aucune ne fonctionne. J'ai même essayé de modifier le format de la colonne A pour mettre des dates, mais pareil ça ne fonctionne pas.

Le fichier en PJ est protégé, mais il n'y a pas de mot de passe si vous avez besoin de faire des tests.

J'espère avoir été assez clair.

Merci d'avance pour l'aide que vous pourrez m'apporter.

Bonne journée,

A bientôt.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Seb1258 le 12 nov. 2024 22:18, modifié 3 fois.
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro
Jeff
GourOOu
GourOOu
Messages : 9976
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Formule pour compter des vacations (max 1 par jours même si plusieurs interventions en 1 journée)

Message par Jeff »

Bonjour,

Pas de version AOO sous la main pour tester avec ton fichier joint, mais en général, un comptage de jour unique peut se faire avec une fonction FREQUENCE.
(Une recherche rapide : search.php?st=0&sk=t&sd=d&sr=topics&key ... id%5B%5D=4)

A +
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.15 / Debian 12.10 "bookworm" / Xfce
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

Re: Formule pour compter des vacations (max 1 par jours même si plusieurs interventions en 1 journée)

Message par Seb1258 »

Bonjour Jeff et merci pour ton retour,

J'ai pas mal regardé la fonction FREQUENCE comme tu le proposes, mais malheureusement je n'arrive pas à trouver la bonne formule. Les différents résultats de la recherche ne me permettent pas d'avoir le résultats souhaité.

Pour l'instant la formule que j'ai ressemble à ça : FREQUENCE($A$4:$B$12; ) mais je ne sais pas quoi mettre dans matrice pour que le résultat soit bon...

Merci encore :D
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1850
Inscription : 15 déc. 2010 08:33

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par yclik »

Bonjour
une proposition
avec, sur feuille Janvier, un tableau récapitulatif colonne AP à AZ
et reprise des calculs Plage I5:I13

A noter que la colonne A des jours est au format texte ce qui impose la fonction CNUM dans la formule
exemple en Q3

Code : Tout sélectionner

=SOMMEPROD((CNUM($A$4:$A$300)=$AP3)*($B$4:$B$300=AQ$2)*($E$4:$E$300))
Gestion_SSLIA_AFIS 2.zip
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Seb1258 »

Bonjour et merci pour ta réponse,

Je viens d'ouvrir le document joint et j'ai plein de message d'erreur (#Valeur !).

J'ai regardé un peu mais je t'avoue que je ne comprend pas du tous la formule, est-ce normal ?

Voir en PJ les impressions d'écran.
valeur.PNG
valeur1.PNG
Merci d'avance,
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1850
Inscription : 15 déc. 2010 08:33

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par yclik »

re
remettre le classeur avec les erreurs sur un post
OpenOffice 4.1.14 sous Windows 11
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Seb1258 »

Voici :
Gestion_SSLIA_AFIS 2.zip
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1850
Inscription : 15 déc. 2010 08:33

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par yclik »

Re
pour moi c'est OK
feuille janvier.jpg
Feuille janvier
Formules en AQ
pour avoir la liste des agents (avec la cellule AQ1 )

Code : Tout sélectionner

=INDIRECT("$Liste_agents.C"&AQ1)
en AQ3

Code : Tout sélectionner

=SOMMEPROD((CNUM($A$4:$A$300)=$AP3)*($B$4:$B$300=AQ$2)*($E$4:$E$300))
Formule type matricielle
$A$4:$A$300)=$AP3 compte 1 si la colonne A est égale au jour en AP3 (Si différent compte 0)
($B$4:$B$300=AQ$2) compte 1 si la colonne B est égale à l'agent en ZQ2 (Si différent compte 0)
($E$4:$E$300) mémorise l'heure donnée en colonne E
ce qui fait à partir r ligne 4
1 x 1 x 1:00= 1:00
+
1 x 1 x 1:00 = 1:00
+
1 x 0 x 1:00 = 0
+
...

et après plus de correspondance => somme des produits= 2
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par yclik le 08 nov. 2024 18:53, modifié 1 fois.
OpenOffice 4.1.14 sous Windows 11
Avatar de l’utilisateur
tintin
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10057
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par tintin »

Bonjour,

Chez moi : D'abord avec Apache OpenOffice 4.1.15
.
AOO_4.1.15.png
.
Ensuite avec LibO 24.2.7
.
LibO_24.2.7.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOO 4.1.15 et LibO 25.2.6 / macOS Intel 13.7.8 Ventura
Adoptium-temurinJDK-jre_1.8.0_462 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1850
Inscription : 15 déc. 2010 08:33

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par yclik »

Bonjour Tintin
Que donne le tableau vers colonnes AQ sur LO

l'aide indique pour erreur valeur
La formule produit une valeur ne correspondant pas à la définition, ou une cellule référencée dans la formule contient du texte et non un nombre.
Peut être que la fonction CNUM ne passe pas dans la formule sommeprod
tester en mettant au format nombre la colonne A

en retirant CNUM et en mettant au format nombre les jours colonne A j'ai erreur Valeur

Donc je saisi les jours un a un et là cela fonctionne :fou:

donc une une nouvelle version ci dessous
Gestion_SSLIA_AFIS 4 num.zip
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
Avatar de l’utilisateur
tintin
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 10057
Inscription : 18 juil. 2008 15:29
Localisation : F-Oise

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par tintin »

Bonjour yclik
yclik a écrit : 08 nov. 2024 18:56Que donne le tableau vers colonnes AQ sur LO
Avec LO, ssur Gestion_SSLIA_AFIS 2 num et sur Gestion_SSLIA_AFIS 4 num c'et la même chose.
.
Gestion_SSLIA_AFIS 4 num_sur LibO.png
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOO 4.1.15 et LibO 25.2.6 / macOS Intel 13.7.8 Ventura
Adoptium-temurinJDK-jre_1.8.0_462 / Firefox/Safari/Thunderbird /Time Machine+cloneCCC
Tutoriels du forum pour macOS
Pour sauvegarder vos documents c'est ceinture ET bretelles
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Seb1258 »

Bonjour Tintin, et re yclik,

Je vous avoue que je ne comprends pas tous ce que vous dites lol. Mais la dernière version ne fonctionne pas non plus, j'ai toujours les informations #valeur.

C'est dû à une incompatibilité avec LO ?

Merci d'avance,
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1850
Inscription : 15 déc. 2010 08:33

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par yclik »

Bonjour

Sur l'aide en ligne LO
https://wiki.documentfoundation.org/FR/ ... ditionnels
il y a indiqué
=SOMMEPROD(A1:A6="Rouge"; B1:B6="grand"; C1:C6) va multiplier les éléments correspondants des matrices mentionnées et renvoyer leur somme, à savoir :
(A1="Rouge")*(B1="grand")*C1 + (A2="Rouge")*(B2="grand")*C2 + ...
et
Une alternative à SOMMEPROD est d'utiliser la fonction SOMME. L'exemple précédent serait rédigé :
=SOMME( (A1:A6="Rouge")*(B1:B6="grand")*C1:C6) )
et saisit comme une formule matricielle en pressant Ctrl+Maj+Entrée. Comme avec SOMMEPROD, ceci agit en multipliant entre eux les éléments correspondants des matrices et en renvoyant leur somme.


Donc tester cette formule en AQ dans le classeur ci dessous

Code : Tout sélectionner

=SOMMEPROD($A$4:$A$300=$AP3;$B$4:$B$300=AQ$2;$E$4:$E$300)
A tester
Gestion_SSLIA_AFIS 5 lo.zip
Nota J'utilise la fonction ((Plage1="x")*(Plage2)) car a priori elle serait compatible avec excel qui ne reconnait pas la fonction dont les plages sont séparées par des ;
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
Avatar de l’utilisateur
Michel JANZEF
ManitOOu
ManitOOu
Messages : 3542
Inscription : 12 janv. 2006 10:04

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Michel JANZEF »

Bonjour yclick,
Cette version fonctionne sous LibO.
Bonne journée.
AOo 4.1.15 (Oracle JRE x86 - 1.8.0_461) et LibO 25.2.6.2 (Oracle JRE x64 - 1.8.0_461) - Windows 11 Famille 24H2 (26100.6725) 64 bits
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

Re: Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Seb1258 »

Bonjour,

Je viens de tester à la maison et ça à l'air de fonctionner.

Merci beaucoup pour le temps passé sur ma question.

Je testerai au boulot après mes congés pour voir si ça fonctionne aussi, mais ça devrait le faire.

Merci encore :) :bravo:

EDIT :
Après quelques tests sur mon pc perso, j'ai rencontré un ou deux problèmes.

- L'agent TEST 10 dispose du même nombre de jours de vacations et d'heures que l'agent TEST 1. Pour ce soucis je suppose que c'est normale et LO ne prends pas en compte le 0. Le problème pourrait être réglé en mettant les bons noms des agents.

- J'ai souhaité changer le nom de l'agent TEST 10 par un autre (bidule truc, oui je suis imaginatif) et toutes les lignes le concernant me renvoi une erreur sur toutes les feuilles (#N/D). En revanche, si je change le nom de TEST 1 par bidule truc, ça fonctionne... Je ne comprends pas trop pourquoi. J'ai également modifié tous les noms dans la feuille Liste_agents et là les calculs ne fonctionnent plus du tous.

- Je ne comprends pas pourquoi les formules en cellules I5:I14 renvoie sur les cellules H18:H27, ça ne devrait pas plutôt être sur la H5:H14 ?
image_2024-11-09_143420971.png
Si toutefois tu as encore un peu de temps pour moi je t'en serais reconnaissant :D
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
Messages : 4298
Inscription : 06 oct. 2008 08:03

Re: [Résolu] Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Oukcha »

Si votre sujet n'est pas résolu, merci d'enlever le balisage éponyme.

Cordialement
                                        
Pour tout savoir sur le fonctionnement de ce forum :arrow: À lire avant tout ! Image
Avatar de l’utilisateur
yclik
HédOOniste
HédOOniste
Messages : 1850
Inscription : 15 déc. 2010 08:33

Re: [Résolu] Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par yclik »

Bonjour
je ne reproduis pas l'erreur en changeant le ligne 10 de la liste agent
Nota
il faudrait peut être que sur la liste agent il y ait plus de ligne que d'agent (donc vide) car en cas de remplacement d'un agent en cours d'année cela ferait disparaître les calculs sur l'agent remplacé.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
OpenOffice 4.1.14 sous Windows 11
Seb1258
Membre hOOnoraire
Membre hOOnoraire
Messages : 106
Inscription : 11 sept. 2024 15:31
Localisation : Pas loin du Canada

Re: [Résolu] Compter des vacations : max 1 par jour même si plusieurs interventions en 1 journée

Message par Seb1258 »

Oukcha a écrit : 09 nov. 2024 20:32 Si votre sujet n'est pas résolu, merci d'enlever le balisage éponyme.
Cordialement
Bonjour,

Je viens de modifier le balisage.
yclik a écrit : 10 nov. 2024 10:17 Nota
il faudrait peut être que sur la liste agent il y ait plus de ligne que d'agent (donc vide) car en cas de remplacement d'un agent en cours d'année cela ferait disparaître les calculs sur l'agent remplacé.
En fait il y as déjà plus de lignes que d'agents, actuellement dans l'unité, il y as 4 agents, j'ai donc 6 lignes en plus au cas où il y ai des modifications (recrutement, remplacement, etc...)

Je test sur le tableau et je reviens.

Merci encore.

EDIT :

Après pas mal de test sur le tableau je pense avoir trouvé (en partie) le problème.

J'ai commencé à alléger le tableau afin de pouvoir le poster sur le forum sans avoir à le zipper (j'ai supprimer quasiment toutes les feuilles).

Ensuite j'ai voulu faire une feuille janvier avec les modifications de yclik et une feuille janvier 2 avec seulement une partie des modifications pour pouvoir faire une explication du résultat souhaité et être plus précis.

Après avoir supprimé les formules INDEX dans les cellules I5:I14 et I18:I27 et mis des formules plus simple (=le résultats de la cellule concernée dans les formules d'yclik) le tableau à l'air de très bien marcher...

Je vais continuer à faire des tests mais je pense que mon problème est résolu. Apparemment le problème venait donc des formules INDEX.

Encore un grand merci à yclik pour son aide ainsi qu'à tintin et Jeff pour leurs contributions.

Je clôture le ticket dans quelques jours après avoir fait des tests avec des données réels.

Merci encore à tous.

EDIT 2 :

Après quelques tests aujourd'hui, je n'ai pas décelé de bug. Merci encore à tous ceux qui m'auront aidé.

Je clôture le ticket.

Cordialement,
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 7.3.7.2 < Obligation de version :fou:

Windows 10 Pro