Recherche Excel avec date

Résolu/Fermé
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016 - Modifié par antheajs12 le 21/06/2016 à 17:34
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016 - 4 juil. 2016 à 14:43
Bonjour grande communaute, je suis desolee par avance des fautes d'accent, je suis a Dublin sur un clavier QWERTY, dur dur de trouver les accents aha

La question a deja ete posee sous cette forme mais je ne rencontre pa le meme soucis...
Voila, l'entreprise dans laquelle je bosse a un systeme de carte pour entrer et sortir du batiment, pour controler ainsi leurs horaires de boulot et s'assurer qu'ils ne sont pas surmenes. Bref la question n'est pas la, ces donnees recueillies jour apres jours vont dans un logiciel special (Nera Report) et ne sont affreusement pas exploitables mais sont quand meme transferables sur un fichier excel.

Je suis donc chargee de creer un Excel fonctionnel ou une fois les donnes du logiciel copiees collees dans la premiere feuille Excel, la deuxieme feuille Excel donne ce qu'il faut.

Je dois donc faire en sorte que jour par jour, en face du nom de l'employe, l'heure d'arrivee et la derniere heure de sortie (et pas les allees et venues comptabilisees a midi etc) soient visibles ainsi que le nombre d'heure travaillees.

Pour le moment, j'ai effectue une RECHERCHEV pour le nom des employes et ca fonctionne nickel (mais j'ai peur que tout soit decale et donc inutilisable pour un mois ne comportant pas 31 jours par exemple.) mais pour la date, c'est le bordel... j'ai cherche sur mister internet mais rien de concluant, ou des fonctions que je ne connais pas...
Voila un exemple de l'Excel en question https://www.cjoint.com/c/FFvpG3fnaQJ ,

Merci infiniment d'avance pour vos aide,

Bonne journee/soiree


A voir également:

32 réponses

Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
23 juin 2016 à 18:58
Re,

tu peux me dire quelles lignes posent problème et me donner les valeurs de départ à retenir et de départ
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
23 juin 2016 à 19:11
Re,
Oui bien sur, les lignes en questions sont surlignées et les valeurs de départs et arrivées à retenir sont en légende sur le côté

https://www.cjoint.com/c/FFxri5tOvgr
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
23 juin 2016 à 21:14
Re,

regarde comme ça voir si c'est bon, si c'est bon les cellules colorisées jaune seront éventuellement masquées
https://www.cjoint.com/c/FFxtmNQYvhj
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
23 juin 2016 à 22:22
Re,

Ouah... Franchement merci, respect, chapeau bas, bravo... C'est exactement ce que je voulais et recherchais, merci infiniment!! sujet clos, enfin aha!

Merci énormément, tu as été très patient, efficace et rapide malgré mon manque d'expertise et la découverte progressive des petits couacs...

Encore merci et bonne soirée à toi
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
24 juin 2016 à 18:23
Re,

ta formule va bientôt ressembler à une usine à gaz, pour contourner la limite d'argument il faut faire des cascades mais il faut que je regarde comment contourner avec des champs nommés
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
25 juin 2016 à 02:49
Re, oui plus je découvre l'ensemble des données et pire c'est :$
J'espère ne pas te donner trop de fil à retordre!
Merci encore,

Bon week-end
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 26/06/2016 à 10:56
Re,

pour l'instant on traitait 2 lignes, mais est il est possible d'avoir plus de 6 lignes sans sortie
et est il possible d'avoir des sorties à 0:00
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
28 juin 2016 à 01:04
Re,

Oui c'est exact, pour les sorties à 0:00 je ne sais pas trop... ça dépend des employés/jours etc, je suppose que ça peut arriver un jour peut-être...
Cela poserai un problème?
0
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
Modifié par antheajs12 le 28/06/2016 à 12:42
Re,

Je ne sais pas si ca peut specialement t'aider, mais j'ai eu une idee pour le probleme des lignes:

Deja, j'ai modifie la formule dans la colonne B en sheet2 (celle qui contient les dates https://www.cjoint.com/c/FFCkCtbu8JJ ) pour qu'un / s'affiche lorsqu'une case n'affiche pas de date et n'est pas censee en contenir une (ainsi seules restent blanches les cellules qui sont en fait la continuite des allees et venues d'une personne a la meme date), peut-etre peut-on alors utiliser une macro avec une boucle tant que qui dirait "tant que Bn est egal a une date ou un espace vide, remplacer le contenu de la cellule Cn+1, Cn+2 (etc jusqu'a ce que la condition soit fausse) par celui de Cn (soit la premiere heure d'arrivee)"

Cela eviterait peut-etre toutes les conditions? Est-ce faisable et pertinent?
C'est juste une idee car je ne sais pas trop utiliser les macros donc pas moyen de savoir si c'est specialement plus pratique...

Merci encore et bonne journee
0

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

Posez votre question
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
28 juin 2016 à 18:33
Re,

teste ce fichier voir si c'est bon après je te dirai comment ça marche, mais j'ai due traiter les heures de départ 00:00 de la colonne J sheet1 qui ne me semble pas convenir

https://www.cjoint.com/c/FFCqElneCAj
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
28 juin 2016 à 22:10
Re,

Merci! ça à l'air de bien coller pour les nombreux changements de lignes possibles, je regarderai ça demain avec le logiciel sous la main du coup.
Par ailleurs, j'ai remodifié la formule en C (heure d'arrivée) car je devais garder l'* pour les premières heures d'arrivées non swipées, car sinon ça fausse les heures de travail des employés (puisque que du coup, la dernière heure d'arrivée indiquée était reprise (ce qui est nickel pour les retour à la ligne correspondant à la même date mais qui n'allait pas pour les nouvelles dates... Bref j'explique très mal mais le pb me paraît résolu aha) https://www.cjoint.com/c/FFCubXH0FsL

Ah mince, cela pose problème pour le calcul des heures c'est ça?

Merci encore, bonne soirée
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
28 juin 2016 à 22:25
Re,
en C8 sheet2 colle plutôt cette formule qui évitera d'afficher 0:00 qui n'ont aucune raison d'être comme dans ces cellules C10, C38, C64 etc ...

=SI(B8<>B7;SI(Sheet1!C8<>"";Sheet1!C8;"");SI(B8="/";"";SI(OU(D7="*";SUBSTITUE(Sheet1!C8;" ";"")="*");C7;Sheet1!C8)))
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
30 juin 2016 à 11:40
Re,
Desolee pour le retard de ma reponse, j'etais malade hier,
Merci, en effet les 0:00 ne s'affiche plus c'est nickel!
En revanche, j'aurai bien aime garder la toute premiere heure d'arrivee des employes dans les bureaux, car avec la formule que tu me donnes, on repart avec le probleme du changement de ligne... c'est a dire que quand un employe entre une premiere fois dans les bureau puis fait de nombreux aller-retours (provoquant alors les nombreux changements de lignes), il faudrait garder la toute premiere heure d'arrivee.

Avec la precedente formule, cela fonctionnait mais que lors d'un decalage de 2 lignes...

Voila les 2 exemples:
celui avec l'ancienne formule:
https://www.cjoint.com/c/FFEjNrEtjFJ
comme tu peux le voir, en C84 il y a 1 seul retour a la ligne en sheet1 et la premiere heure d'arrivee est bien conservee en revanche en C116, il y a 2 retour a la ligne en sheet1 et la la premiere heure d'arrivee (une * ici bref) n'est pas conservee...

Avec la nouvelle formule:
https://www.cjoint.com/c/FFEjGrpUB4J
Il n'y a plus de pb de 0:00 mais la premiere heure d'arrivee n'est pas conservee comme precedemment (ex en C34 ou l'heure devrait etre la meme qu'en C33, soit 8:59)
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
30 juin 2016 à 14:03
Re,

alors le fichier du post 53 doit répondre aux attentes, le revoilà ci dessous
https://www.cjoint.com/c/FFEmcrmtkvj
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
30 juin 2016 à 14:06
Re,

Ce fichier est nickel pour les decalage de ligne pour les heures de depart (colonne D) mais toujours pas pour les heures d'arrivees (colonne C)
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 30/06/2016 à 21:54
Re,

pourquoi en colonne C ça ne va pas, si tu prends exemple sur les premières lignes sheet1, en
en C8 tu as 07:26
en C9 *
en C10 *

en C15 06:42

sheet 2 que devrait il y avoir en
C8
C9
C10
C11
C12
C13
C14
C15
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
30 juin 2016 à 22:02
Re,

Pas sur l'exemple que tu m'as envoyé, dessus il y a en C8 7:26, arrivée du cleaner nickel puis après ça garde 7:26 tout le temps alors que leur heure d'arrivée est inconnue,
Il faudrait garder la première heure d'arrivée de l'employé pour chaque date et non la dernière indiquée... car sinon cela fausse les comptages d'heures...
Donc en C9-10-11 etc il devrait y avoir une *

Et en C34 par exemple, il faudrait qu'il y ait 8:59 car c'est sa première heure d'arrivée, tu vois ce que je veux dire ou je suis pas claire?
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 30/06/2016 à 22:41
Re,

mais s'il y a une étoile en C9, C10, C11, C12 et C14 tu ne peux pas faire de calcul sur ces lignes en colonne E c'est ce que tu veux

en C8 colle cette formule et incrémente la vers le bas

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
1 juil. 2016 à 11:01
Re,

le but est en effet de faire les calculs d'heures, mais des justes! donc si l'employe ne swipe pas tant pis! dans ce cas la, pas de total d'heure! mais surtout pas un compte d'heures faux!

Car ca, faire un total ligne par ligne quelques soient les valeurs, le logiciel de base le fait deja, moi je cherche a faire un vrai calcul exploitable avec le nombre d'heures veritable, que ce soit malheureusement une * ou un vrai total
D'ou ma requete de garder la premiere heure d'arrivee si plusieurs lignes (quelque soit cette donnee) et la derniere heure d'arrivee si plusieurs lignes(quelque soit cette donnee encore)

Tu vois ce que je veux dire ou pas?
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
1 juil. 2016 à 12:32
Re,

oui je vois, mais que penses tu du dernier fichier
0
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
1 juil. 2016 à 12:47
Re,
tant mieux, n'hesite pas a me demander des precisions, je ne suis pas forcement toujours claire quand j'explique.
Le dernier fichier ne resout pas les problemes de conservation des premieres heures d'arrivee au jour n pour l'employe x

Exemple: en C33 et C34, le 15/03/2016 Andrea Barker arrive au bureau la toute premiere fois de la journee a 8h59. Puis elle sort X fois du bureau et provoque donc un changement de ligne sur le logiciel, qui est ici visible en sheet1 (lignes 33 et 34 remplies en sheet 1 de la colonne C a la colonne J car elle sort, revient, sort revient, sont donc visibles toutes ses heures d'allees et venues de C a J). Sa premiere heure d'arrivee est donc 8h59. Or comme dit plus haut, on se balance des heure d'allees et venues, pour avoir un calcul du volume horaire juste, il faut conserver cette premiere heure d'arrivee au bureau ce jour la qui est donc 8h59.
En sheet2 C34, j'aimerai donc qu'il soit marque 8h59, soit sa premiere heure d'arrivee au bureau.

Tout comme tu l'avais fait avec la derniere heure de depart de chacun, ici pour Andrea 22h21 en D33 et D34 nickel.

Tout en prenant en compte que ces decalages de lignes peuvent se faire sur 6 lignes voire plus
0
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
24 juin 2016 à 17:14
Bonjour, je suis desolee de reouvrir le sujet... en explorant tous les fichiers de donnees relatives aux heures d'allees et venues des employes, je me suis rendue compte que si les heures de depart/arrivees pouvant donc bien aller a la ligne suivante si plus nombreuses que le nombre de colonnes propose (https://www.cjoint.com/c/FFxmkJZ1M1J elles peuvent ausi et surtout largement depasser 2 lignes.... https://www.cjoint.com/c/FFypkVLUm5J

J'ai essaye de reprendre tes formules (=IF(A9<>"";"";IFERROR(SUBSTITUTE(IF(Sheet1!J9>0;Sheet1!J9;IF(Sheet1!H9>0;Sheet1!H9;IF(Sheet1!F9>0;Sheet1!F9;IF(Sheet1!D9>0;Sheet1!D9;IF(Sheet1!J10>0;Sheet1!J10;IF(Sheet1!H10>0;Sheet1!H10;IF(Sheet1!F10>0;Sheet1!F10;IF(Sheet1!D10>0;Sheet1!D10;""))))))));" ";"")*1;"*")) en adaptant et augmantnt le nombre de lignes (en continuant avec 11, 12 etc) mais Excel m'indique que la formule contient trop d'arguments... J'ai essaye d'autres formules mais elle n'aboutissent pas a qqch de concluant...

Desolee de revenir vers ce sujet clos mais... penses-tu pouvoir m'aider?

Merci,
Bonne fin de journee,
Anthea
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 1/07/2016 à 20:52
Re,

regarde en C8 avec cette formule et incrémente voir si c'est ce que tu cherches
=SI(B8="/";"";SI(Sheet1!C8<>"";Sheet1!C8;SI(ET(B8="";C7<>"");C7;"")))

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
4 juil. 2016 à 11:06
Re,

Que veux-tu dire par incrementer?
0
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
4 juil. 2016 à 14:33
Re,

incrémenter est l'action pour dupliquer le contenu d'une cellule ou d'une plage avec le cliqué glissé

saisir la formule dans une cellule
ensuite observer la cellule active, en bas à droite tu remarquera un petit carré et lorsque tu passeras le pointeur de ta souris sur ce petit carré, le pointeur prend la forme d'une croix, à ce moment bien précis clic gauche sur ce petit carré et sans lâcher le clic, faire glisser vers le bas sur une hauteur souhaitée et lâcher le clic.
la formule sera recopiée en actualisant la cellule cible, exemple Sheet1!C8 deviendra Sheet1!C9 puis Sheet1!C10 etc ...
par contre si tu écris Sheet1!$C$8 restera Sheet1!$C$8
0
antheajs12 Messages postés 35 Date d'inscription mardi 21 juin 2016 Statut Membre Dernière intervention 4 juillet 2016
Modifié par antheajs12 le 4/07/2016 à 14:46
Re,

Oh ok merci, je ne savais pas que c'etait le mot propre...Donc non ca ne fonctionne toujours pas, cela ne fait que reporter l'heure indiquee en sheet1 a la meme cellule, or je souhaite garder la toute premiere heure d'arrivee comme tu avais reussi a le faire pour la derniere heure d'arrivee avec cette formule (en D8): =IF(A8<>"";"";IFERROR(SUBSTITUTE(IF(Sheet1!J8>0;Sheet1!J8;IF(Sheet1!H8>0;Sheet1!H8;IF(Sheet1!F8>0;Sheet1!F8;IF(Sheet1!D8>0;Sheet1!D8;IF(Sheet1!J9>0;Sheet1!J9;IF(Sheet1!H9>0;Sheet1!H9;IF(Sheet1!F9>0;Sheet1!F9;IF(Sheet1!D9>0;Sheet1!D9;""))))))));" ";"")*1;"*"))
0