Bonsoir, Pierre (et au Forum),

J'ai bien pris le temps de mettre au point mon fichier avec les formules, une petite macro. Tout fonctionne parfaitement même si c'est un peu lent. Mais, il est très difficile de demander à Excel de gérer en un claquement de doigts des milliers de données.

Citation Envoyé par Pierre
Je ne plus trop quelles formules tu as utilisées pour obtenir tes résultats, notamment pour les temps totaux par jour (je ne pense pas que tu aies utilisé GRANDE.VALEUR(...). Je te mets les miennes. Si les tiennes diffèrent, peux-tu les remettre de façon synthétique?.
J'avais commencé des formules effectivement. Voir le début du post mais avec ce que tu m'as fourni comme information (les sept péchés d'XL), je me suis rendu compte que les résultats n'étaient pas corrects.

Citation Envoyé par Pierre
C'est toujours intéressant d'avoir plusieurs chemins
Et ton intervention a été salutaire. Tu parles de plusieurs chemins et cela me fait rire maintenant (pas sur le coup, quand je suais sur ce bête problème). Souvent, on pense à son problème, on a l'ébauche d'une solution mais le chemin n'est pas nécessairement le meilleur ou le bon. Du coup, on s'obstine au lieu de laisser reposer le truc et de le reprendre en levant la tête du guidon. On voit que t'es vraiment un pro d'XL et j'apprécie l'aide fournie. Il faudra vraiment que je me souvienne de cette leçon.

Citation Envoyé par Pierre
Pour le temps des pauses, l'idée est de calculer les différences entre le début et la fin de la ligne précédente (=> DECALER()) pour autant que la date de la ligne précédente soit la même.
Alors là aussi, j'en ai appris. Je l'utilisais bêtement pour nommer mes plages variables et voilà que d'autres horizons s'ouvrent. Génial.

Tes formules adaptées à mon fichier donnent ceci :

Nombre de jobs réalisés à une date
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SOMMEPROD((DigitSol[Date]=B1)*1)
Nombre de jobs réalisés à une date, par une personne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SI(SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1)*1)=0;"";SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1)*1))
Nombre de jobs réalisés pendant une période
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SOMMEPROD((DigitSol[Date]>=$B$2)*(DigitSol[Date]<=$B$3)*1)
Nombre de jobs réalisés pendant une période, par une personne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SI(SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Date]>=$B$2)*(DigitSol[Date]<=$B$3)*1)=0;"";SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Date]>=$B$2)*(DigitSol[Date]<=$B$3)*1))
Quand le job a-t-il commencé à une certaine date
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=MIN(SI((DigitSol[Date]=$B$1);DigitSol[Ouverture]))
Quand le job a-t-il commencé à une certaine date, pour une personne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SI(MIN(SI((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1);DigitSol[Ouverture]))=0;"";MIN(SI((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1);DigitSol[Ouverture])))
Quand le job a-t-il été terminé à une certaine date, pour une personne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SI(MAX(SI((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1);DigitSol[Fermeture]))=0;"";MAX(SI((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1);DigitSol[Fermeture])))
Combien de temps une personne a-t-elle passé sur tous les jobs de la journée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SI(D6="";"";SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Date]=$B$1)*(DigitSol[Fermeture]-DigitSol[Ouverture])))
Combien de jobs a réalisé une personne a une certaine date pendant une certaine heure (ex: de 07:00 à 07:59)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
=SI(SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Ouverture]>=C$5)*(DigitSol[Ouverture]<C$5+1/24))=0;"";SOMMEPROD((DigitSol[Qui]=$A6)*(DigitSol[Ouverture]>=C$5)*(DigitSol[Ouverture]<C$5+1/24)))
Comme je dois répercuté toutes ces formules pour une vingtaine de personnes, j'ai une ligne avec toutes les formules et avec une macro, je copie la formule en face du bon agent et je ne mets que le résultat. Cela permet d'économiser un peu d'énergie et de ne pas avoir tout le temps des calculs et recalculs, ....

J'ai donc deux conclusions :
  • Faire appel au Forum (sans oublier au préalable de travailler un peu)
  • Ne pas hésiter à choisir un autre chemin