aide recherche v

titooooo

XLDnaute Occasionnel
bonjour et merci d'avance pour votre aide ;

Voila ce que je cherche les agents peuvent se loguer et se déloger plusieurs fois par jour ( selon fichier collé sur feuille 3) avec la recherche verticale ca me donne que l'heure du 1er log et du 1ére délog

je cherche comment faire pour afficher tout les état de l'agent

c'est a dire si l'agent s'est logué qu'"une seule fois alors le tableau m’affiche CA

si l'agent par exemple s'est logué a 13h05 et puis se délogue à 14:00
puis se relogue à 14:12 et se délogue à 15:06 j'aimerais que ce 2 shift seront affiché et non pas que la première

merci

et voici un tableau explicatif
 

Pièces jointes

  • log.xlsx
    12 KB · Affichages: 168

Monique

Nous a quitté
Repose en paix
Re : aide recherche v

Bonjour,

Avec Petite.Valeur(Si(Condition ; Plage) ; n°)

Formule matricielle, à valider pat ctrl, maj et entrée
 

Pièces jointes

  • LogTitooooo.xlsx
    13.5 KB · Affichages: 100
  • LogTitooooo.xlsx
    13.5 KB · Affichages: 112
  • LogTitooooo.xlsx
    13.5 KB · Affichages: 104

titooooo

XLDnaute Occasionnel
Re : aide recherche v

j'ai un autre pb ,en 2éme lieu un autre pb se pose les agents qui terminent après minuit exemple celine julien termine a 5 du matin normalement,t il affiche

13:00 15:01 15:02 16:02 16:06 17:07 22:00 5:00



or avec ce calcul il affiche




5:00 13:00 15:01 15:02 16:02 16:06 17:07 22:00

faut ti changer qq chose ou devrais je avoir une autre formule

merci d'avance svp
 

Pièces jointes

  • LogTitooooo.xlsx
    14.6 KB · Affichages: 94
  • LogTitooooo.xlsx
    14.6 KB · Affichages: 106
  • LogTitooooo.xlsx
    14.6 KB · Affichages: 107

hellnar

XLDnaute Junior
Re : aide recherche v

Bonsoir
La formule proposée par Monique se base sur Petite.valeur et donc prend dans l'ordre du plus petit au plus grand.
Pour qu'elle fonctionne selon tes souhaits, il faudrait renseigner non seulement l'heure mais le jour. Ainsi 12h du jour = 0,5 et 6h le lendemain serait égal à 1,25... et la formule marcherait.

Je ne sais pas si tu peux entrer les dates de cette manière.
Sinon, il faut trouver autre chose
Hellnar
 

titooooo

XLDnaute Occasionnel
Re : aide recherche v

Merci encore de votre aide

j'ai ajouté une colonne avec la date , pouvez vous m'aider pour exploiter la date selon la méthode de hellnar


fichier a l'appui

Encore 1000 merci
 

Pièces jointes

  • LogTitooooo.xlsx
    14.8 KB · Affichages: 75
  • LogTitooooo.xlsx
    14.8 KB · Affichages: 70
  • LogTitooooo.xlsx
    14.8 KB · Affichages: 65

Monique

Nous a quitté
Repose en paix
Re : aide recherche v

Re,

Fichier sans les dates, espérant que ce soit quand même par ordre chronologique...

Colonnes heures de début
=DECALER(Feuil3!$C$1;EQUIV($B5;IdAgent;0)+COLONNES($N5:N5)/2;0)

DECALER($C$1 ; Nb de lignes vers le bas jusqu'à ce que l'on arrive à l'ID ; 0 colonne)

Colonnes heures de fin
=SI(N5="";"";SOMMEPROD((IdAgent=$B5)*(Log=N5);Delog))

Format [hh]:mm;; pour masquer les 00:00 de ceux qui n’ont pas terminé
Prière de ne pas terminer à 00:00 mais à 24:00
 

Pièces jointes

  • LogTitoooooV1.xlsx
    21.4 KB · Affichages: 169

hellnar

XLDnaute Junior
Re : aide recherche v

Bonsoir,

Je propose la solution suivante qui répond aux différentes demandes à condition que les données soient triées par agent et par heure. Sinon pas la peine de la regarder.

La base de la formule (normale, non matricielle) est la fonction DECALER() qui part de la cellule nommée Initial (le champ de la colonne log) et se base sur le nombre de lignes qui concernent chaque agent (avec la fonction NB.SI()). La fonction EQUIV() sert à déterminer le point de départ de la recopie.
Enfin pour alléger la formule, j'ai nommé "col", un calcul de l'emplacement un peu lourd pour savoir combien de recopies ont été faites.
Toutes les adresses utilisées sont nommées.

La formule est donc :
=SI(col<NB.SI(IdAgent;"="&userID)+1;DECALER(Initial;EQUIV(userID;IdAgent;0)+col-2;1+MOD(COLONNE();2));"")
Autrement dit si on n'a pas épuisé la lecture .... on décale à partir d'Initial, du point de départ fixé par EQUIV() autant de fois que COL l'indique.
La fin de la formule permet seulement de savoir s'il s'agit d'un log ou d'un delog.
Je joins le fichier.

Bonne nuit.
 

Pièces jointes

  • log_hellnar.xls
    50 KB · Affichages: 69

titooooo

XLDnaute Occasionnel
Re : aide recherche v

bonjour je viens de m’apercevoir d'une petite erreur dans la formule

la formule affiche les bon chiffre et donc la bonne durée pour certain employé et pour d'autre ca affiche de fause valeur

serait t'il possible de m'aider

ci joint un fichier qui résume la situation
 

Pièces jointes

  • temps de Log.xlsx
    85.2 KB · Affichages: 48

titooooo

XLDnaute Occasionnel
Re : aide recherche v

merci de ta réponse

exemple de ligne qui pose pb:

ligne 149

il a le shift suivant

1er:21:51 22:08
2eme:22:30 00:33
3eme: 01:36 06:00

or le resultat affiche

6:00 21:51 22:08 22:30 0:33 1:36

au lieu de

21:51 22:08 22:30 0:33 1:36 6:00

et avec le tri de la colonne durée les incohérence sont visible

merci
 

hellnar

XLDnaute Junior
Re : aide recherche v

Bonjour,

L'erreur tient au fait que l'on utilise dans les formules : petite.valeur.
Le fichier que j'avais proposé ne l'utilisait pas.
Par contre je n'avais pas envisagé que des ID ne soient pas dans la liste.
J'ai réimplanté ma formule dans ce nouveau fichier avant le test initial de l'existence de l'ID.
il me semble que cela fonctionne mais ton oeil sera meilleur que le mien.
Cordialement

Hellnar

P.S. Je ne sais pas pourquoi le fichier a pris un peu de ... ventre mais si nécessaire on pourra optimiser.
 

Pièces jointes

  • temps de Log_hellnar.xls
    165.5 KB · Affichages: 37
Dernière édition:

Monique

Nous a quitté
Repose en paix
Re : aide recherche v

Bonjour,

Une plage nommée "Log" (c'est seulement une cellule)
"Log" : la 1ère connexion de l'agent situé sur la même ligne que la formule

Une plage nommée "ZoneAgent" :
C'est une plage de 2 colonnes et de 1, 2, 3, 4 lignes ou plus
Elle contient toutes les connexions déconnexions de l'agent situé sur la même ligne que la formule
Elle ne sert qu'à mettre la formule au conditionnel.
Mais elle sert aussi à faire contrôles en feuille 3.

Pour récupérer les heures de connexion et déconnexion :
Code:
=SI(NB(ZoneAgent)<COLONNES($C4:C4);"";DECALER(Log;ENT((COLONNE()-5+2)/2);MOD(COLONNE()-1;2)))

Le durée totale en Q (en changeant les titres de la ligne 2) :
Code:
=MOD(SOMME.SI(C$2:N$2;"Delog*";C4:N4)-SOMME.SI(C$2:N$2;"Log*";C4:N4);1)

Formule de la colonne P : résultat identique

J'ai fait un essai en ne mettant que des heures et non pas des heures + 1 jour, le résultat est identique.
 

Pièces jointes

  • TempsDeLog.xlsx
    66.9 KB · Affichages: 50

Discussions similaires

Statistiques des forums

Discussions
312 427
Messages
2 088 303
Membres
103 813
dernier inscrit
mehdifr