Bonjour à tous !
J’ai un fichier qui liste, par jour, les employés de ma société ainsi que les différents projets sur lesquels ils ont travaillé (Colonne A : Date / Colonne B : Matricule de l’employé / Colonne C : Projet sur lequel il a travaillé.
Je cherche à générer un nombre aléatoire entre 0 et 8 mais avec plusieurs critères
- Le premier, c’est que le total du nombre d’heure attribué pour une personne sur l’année ne peut dépasser son maximum (dans mon exemple, sur la première ligne, on voit que l’employé 58 dispose de 1697h)
- Le second, c’est que le total du nombre d’heure attribué pour un projet sur l’année ne peut dépasser son maximum (dans mon exemple, sur la première ligne, on voit que le projet A dispose de 23400h)
- Le troisième, c’est que le nombre d’heure pour un employé donné ne peut dépasser 8h par jour
- Et enfin le dernier, pour certains employés, j’ai déjà leur nombre d’heure passées sur les projets J et K entre le 01/01/2022 et le 31/07/2022 et je veux que la formule ne génère pas de nombre aléatoire pour ces occurrences mais prenne la donnée présente dans les colonnes L et M
J’ai déjà fait une formule qui est la suivante (pour la ligne 3)
=SI(I3>0;I3; SI(
OU(
SOMME.SI($C$2:C2;C3;$D$2:D2)>E3;
SOMME.SI.ENS($D$2:D2;$A$2:A2;A3;$B$2:B2;B3)>8;
SOMME.SI($B$2:B2;B3;$D$2:D2)>F3 );0;
(MIN((ALEA.ENTRE.BORNES(4;10)/2);(8-SOMME.SI.ENS($D$2:D2;$A$2:A2;A3;$B$2:B2;B3))))))
J’ai également attaché le fichier d’exemple pour que ce soit plus clair
Le problème c’est que cette formule ne me génère pas assez d’heures (en effet, je souhaite au maximum me rapprocher du nombre total d’heures dont je dispose sur les projets : 114 660 heures tout en ne dépassant pas le maximum par employé)
Est-ce que vous voyez un problème dans ma formule ? Est-ce que je loupe quelque chose ?
Mille merci pour vos éclaircissements