Exclure des lignes d'un comptage

Fermé
Adrien - Modifié le 9 janv. 2019 à 16:25
LaurentDu51 Messages postés 5 Date d'inscription jeudi 24 novembre 2011 Statut Membre Dernière intervention 10 janvier 2019 - 10 janv. 2019 à 15:38
Bonjour,

J'ai besoin de calculer une somme en excluant parfois des valeurs et parfois non. Je vous explique :
Dans les colonnes B à E il y a une liste d'informations sur les employés, distingués par un code couleur : Jaune = Collaborateur; Violet = Sous-traitant; Vert = Prêt d'une autre agence
Dans le reste du tableau (j'en suis à la colonne JH), je calcule les congés et d'autres infos du genre.
Cependant, lorsque je fais la somme des congés posés sur un jour J, il faut exclure ceux des personnes qui ne sont pas dans la catégorie "collaborateur". Le problème c'est qu'ils ne posent pas forcément leurs jours de congés en même temps donc on ne peut pas les exclure du calcul à chaque fois.

Suis-je assez clair ?

Existe-t-il une formule qui fasse ça ? Je n'y connais rien en VBA, j'ai téléchargé un pack de fonctionnalité pour compter les cellules par couleur et je pense qu'il est possible de le combiner avec autre chose ! (celui ci : https://www.excel-pratique.com/fr/fonctions-complementaires.php )


Merci d'avance de votre aide !

Configuration: Windows / Firefox 64.0

5 réponses

LaurentDu51 Messages postés 5 Date d'inscription jeudi 24 novembre 2011 Statut Membre Dernière intervention 10 janvier 2019
9 janv. 2019 à 16:28
Bonjour,

Tu peux le faire avec une formule matricielle. Mais pour t'aider, il faudrait nous fournir la structure de ton fichier (ou tout du moins celle des colonnes utiles pour le calcul).

Cordialement
0
adrien33480 Messages postés 3 Date d'inscription mercredi 9 janvier 2019 Statut Membre Dernière intervention 10 janvier 2019
9 janv. 2019 à 16:35


Cette image suffit-elle ?
0
LaurentDu51 Messages postés 5 Date d'inscription jeudi 24 novembre 2011 Statut Membre Dernière intervention 10 janvier 2019
9 janv. 2019 à 16:53
As-tu une colonne ou il est indiqué la catégorie de l'employé, collaborateur ou autre? Supposons que oui et que ce soit la colonne B. Supposons également que tu souhaites calculer le nombre de jour d'absence du 07/01/2019 (colonne JM).
Tu te place dans la cellule ou tu souhaites ton résultat et tu tapes la formule : =somme(SI(B11:B48="collaborateur";JM11:JM48;0)) pour calculer la somme sur les lignes 11 à 48. Et n'oublies pas d'appuyer sur CTRL+MAL+ENTER pour valider ta formule (formule matricielle).

Si tu n'as pas de colonne ou il est indiqué la catégorie d'employé, alors il va falloir créer un fonction en VBA
0
adrien33480 Messages postés 3 Date d'inscription mercredi 9 janvier 2019 Statut Membre Dernière intervention 10 janvier 2019
10 janv. 2019 à 09:30
J'ai créé une colonne indiquant la catégorie de collaborateur via les couleurs avec la formule suivante :
=SI(NO_COULEUR(C14)=NO_COULEUR($D$4);"collaborateur";SI(NO_COULEUR(C14)=NO_COULEUR($D$5);"stagiaire";SI(NO_COULEUR(C14)=NO_COULEUR($D$6);"prêt";"sous-traitant")))

Elle fonctionne à priori, mais la somme m'affiche 0 au lieu de 32 (j'ai bien fait CTRL+MAJ+ENTER, j'ai aussi essayé sans et ça m'affiche un message d'erreur)
0
adrien33480 Messages postés 3 Date d'inscription mercredi 9 janvier 2019 Statut Membre Dernière intervention 10 janvier 2019
10 janv. 2019 à 09:58
C'est bon j'ai fini par trouver la solution, c'était plutôt simple en fin de compte ahah

=NB.SI.ENS(B11:B48;"=collaborateur";JI11:JI48;"=Congès")

Merci de ton aide en tout cas !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LaurentDu51 Messages postés 5 Date d'inscription jeudi 24 novembre 2011 Statut Membre Dernière intervention 10 janvier 2019
10 janv. 2019 à 15:38
Désolé pour l'erreur, mais effectivement, ta colonne JI (ou JM de mon exemple) ne contient pas de valeur numérique, tu ne peux donc pas en faire la somme. Je te propose donc les 2 solutions suivantes, toutes les 2 en formules matricielle (tu verras, une fois que tu en as compris le fonctionnement, tu ne peux plus t'en passer) :
=SOMME(SI((B11:B48="collaborateur")*(JI11:JI48="Congés");1;0))
=SOMME((B11:B48="collaborateur")*(JI11:JI48="Congés")*1)
0