Sous totaux avec conditions

[Résolu/Fermé]
Signaler
-
Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
-
Bonjour à tous,

voilà j'ai un fichier excel de plus de 20 000 lignes regroupant toutes les dates d'absences de mon personnel.
Matricule Nom Prénom Date de début Date de fin Nombre de jour

Je souhaite appliquer un sous total à chaque salarié dont le nombre de jour d'absence est supérieur à 119 jours mais pas aux autres.
et la je sèche ! je ne sais pas faire les macros.

Merci à vous !

11 réponses

Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
4 791
Re,

ça reste blanc parce que le total des jours en colonne F est inférieur à 119 pour chaque agent
automatise le calcul colonne F, en F2 colle cette formule et incrémente vers le bas
=E2-D2+1
ensuite pour tester ma formule
=SI(SI(SI(A2=A3;1;0)=0;SOMMEPROD(($A$2:$A$100=$A2)*($F$2:$F$100));"")>=119;SI(SI(A2=A3;1;0)=0;SOMMEPROD(($A$2:$A$100=$A2)*($F$2:$F$100));"");"")

formule que tu as collé en I2 et incrémenté vers le bas modifie les dates exemple en D4 remplace
21/04/2016 par 01/01/2016 tu verras en I4 la somme de 124 correspondant au matricule 1 de la colonne A et au total de ce matricule soit 6+5+113 puisque entre le 21/04/2016 et 01/01/2016 il y a 113 jours

A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
mercredi 14 septembre 2016
Statut
Membre
Dernière intervention
14 septembre 2016

Wow ca marche !!!!
Vous êtes super gentil merci beaucoup !!
Messages postés
11
Date d'inscription
lundi 11 avril 2016
Statut
Membre
Dernière intervention
15 septembre 2016

Bonjour, j'ai l'impression qu'il manque qques infos.
Si tu as déjà le nombre de jour dans une colonne, tu as ta réponse, non?
Cordialement.
Damien.
Non car je peux avoir plusieurs lignes pour le même salarié s'il a été malade plusieurs fois
la requête faite sur le logiciel de gestion remonte sur une année j'ai oublié de notifié cette info toutes mes excuses
Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
4 791
Bonjour,

certainement pas tout compris, mais si en colonne E tu as le nombre de jours d'absences tu peux utiliser
=SI(SOMME($E1:E2)>=119;SOMME($E1:E2);"")

ou sélectionne ton tableau exemple A1:E50
onglet Données/module Plan/Sous total/sélectionne à chaque changement de Nom et coche nombre de jour qui est l'entête de ta colonne
si ce n'est pas ce que tu cherches faire joint un exemple de fichier anonymisé
1) Clic sur ce lien https://www.cjoint.com/
2) Clic sur le bouton Parcourir pour sélectionner ton fichier
3) Clic sur le bouton Créer le lien en bas de la page
4) Au bout de quelques secondes en haut de la page en bleu souligné un lien sera généré, tu le sélectionnes et tu le copies dans une réponse

A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Messages postés
2720
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
25 octobre 2021
1 685
Bonjour,

Si vos matricules sont répertoriez dans un autre onglet:
=SI(SOMME.SI(Feuil1!F:F;Feuil1!A:A=A2)>119;SOMME.SI(Feuil1!F:F;Feuil1!A:A=A2);"")

Ceci affichera la somme uniquement si le nombre total de jour est supérieur à 119
Messages postés
4
Date d'inscription
mercredi 14 septembre 2016
Statut
Membre
Dernière intervention
14 septembre 2016

https://www.cjoint.com/c/FIojQkHkBoH

voici le document anonymé.
Par exemple, je souhaite avoir un sous total de tous les agents dont le nombre de jour total d'absence dépasse 119 jours uniquement car le fichier réel a plus de 20 000 lignes.
Chaque agent a un matricule donc potentiellement plusieurs lignes d'absences puisque le ficheir regroupe les absences sur une année totale.
Merci pour votre aide !
Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
4 791
Re,

sur ton fichier joint, sélectionne la plage A1:H50 par exemple
onglet Données/module Plan/Sous total/sélectionne à chaque changement de Matricule et coche Nb jours
Messages postés
4
Date d'inscription
mercredi 14 septembre 2016
Statut
Membre
Dernière intervention
14 septembre 2016

oui c'est ce que j'ai fait au départ mais il me faut uniquement ceux dont le nombre de jour dépasse 119 je n'ai malheureusement pas le temps de traiter 20 000 lignes à la main derrière :/
Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
4 791
Re,

je ne vois pas comment avec sous.total sans passer par du VBA
et pourquoi ne pas ajouter une mise en forme conditionnelle qui colorise la ligne dont le sous total est égale et supérieur à 119
Parce qu'il y a trop de lignes mon chef ne veux pas ...
Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
4 791
Re,

il est gentil ton boss, essaye comme cela en cellule I2 et incrémente la formule vers le bas

=SI(SI(SI(A2=A3;1;0)=0;SOMMEPROD(($A$2:$A$100=$A2)*($F$2:$F$100));"")>=119;SI(SI(A2=A3;1;0)=0;SOMMEPROD(($A$2:$A$100=$A2)*($F$2:$F$100));"");"")
Messages postés
4
Date d'inscription
mercredi 14 septembre 2016
Statut
Membre
Dernière intervention
14 septembre 2016

Re,

vous n'imaginez pas a quel point ^^
ça ne fonctionne pas ça reste blanc
Messages postés
17603
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
26 octobre 2021
4 791
Re,

alors je passe le statut en résolu