Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Gestion des Employés

Jorelle27

XLDnaute Nouveau
Bonjour la team,
ça fait des mois que je travail sur ce fichier il marche mais avec plus de données le processeur atteint 100.

je vous expliques : mon fichier récupère les dates de contrat en court des employers dans le sheet 2--->sheet 1
et affiche une Etoile (*) en colonne D du sheet 1 si un employé à un contrat futur.

pour l'affichage des date j'ai utilisé une formule excel car j'ai pas pu le faire en VBA
pour l'affichage de l'Etoile j'ai utilisé du VBA

j'aurais besoin de votre expertise pour une solution plus légère, Merci
 

Pièces jointes

  • gestion de user et contrat1.xlsm
    20.3 KB · Affichages: 19
Solution
Bonsoir à toutes & à tous, bonsoir @Jorelle27
Voici ma dernière version avec macros (j'ai renoncé aux formules et MFC pour tes dernières demandes, on aboutit à des choses très compliquées qui vont faire ramer le PC)

Les fonctionnalités mises en place
  • Feuille "Userdata"
Tableau structuré "tb_User" sans formule ni MFC. la mise à jour se déclenche avec l'événement Worksheet_Activate.​
Les congés affichés sont les plus tardifs du contrat actif lors de la mise à jour.​
Contrôle des doublons sur les uid, message puis effacement du doublon.​
  • Feuille "management des contrats
Tableau structuré "tb_management" avec formules dans les colonnes "nom" et "prénom" pour lire ces informations dans le TS...​

Jorelle27

XLDnaute Nouveau
bonjour AtTheOne,
  • pour les dates de debut, de fin et l'astérisque c'est ok merci
  • pour l'uid si tu fais un copié coller il valide
  • pour les dates de congé il doit afficher la plus récente
 

AtTheOne

XLDnaute Accro
Supporter XLD
Bonjour à toutes & à tous, bonjour @Jorelle27
pour l'uid si tu fais un copié coller il valide
Oui c'est un inconvénient avec la validation de données, mais excel affiche une alerte dans un coin des cellules qui ne respectent pas les règles.
On peut ajouter une mise en forme conditionnelle pour passer en rouge les erreurs. Sinon c'est par macro.
pour les dates de congé il doit afficher la plus récente
Ça ce n'était pas dit !
Je vais regarder 2 solutions, une sans et une avec macro, tu choisiras ...
À bientôt
 

Gégé-45550

XLDnaute Accro
Bonjour Gégé-45550,
merci pour ton retour ça marche aussi mais le blocage des doublons ne marche plus et l'Etoile par contre doit etre devant le prénom.

cordialement
Bonjour,
Est-ce que c'est mieux comme ça ?
J'attire votre attention sur plusieurs points de l'onglet "management des contrats":
  • j'ai converti le tableau en table structurée
  • j'ai supprimé les espaces inutiles (et dangereux) en fin de libellé des titres
  • j'ai modifié le 31/04/2023 (qui n'existe pas) en 30/04/2023
  • pour G45326, le premier contrat se termine le 25/03/2025 et le deuxième commence le 25/08/2024 !!! Je n'ai rien changé mais c'est incohérent (c'est d'ailleurs la même chose pour H34678 qui par ailleurs bénéficie (?!) d'un CDD de 7 ans (!), sans doute autorisé en Chine mais pas en France)
  • Si vous avez plusieurs milliers de lignes, il est normal que des formules ralentissent le traitement.
Qu'entendez-vous par "blocage des doublons", qui par ailleurs ne figure pas dans l'énoncé de votre question ?

Cordialement
 

Pièces jointes

  • gestion de user et contrat1_GG1.xlsm
    44.8 KB · Affichages: 2

AtTheOne

XLDnaute Accro
Supporter XLD
Re (salut @Gégé-45550 )
Voilà ma version avec formules et formats conditionnels pour rehausser les erreurs (uid en doublons, périodes de contrats se chevauchant)
Je ne l'avais pas dit mais comme @Gégé-45550 j'avais fait un peu de nettoyage ...
Voir pièce jointe
 

Pièces jointes

  • gestion de user et contrat AtTheOne frml.xlsm
    21.2 KB · Affichages: 3
Dernière édition:

Jorelle27

XLDnaute Nouveau
bonjour Gégé-45550 j'entends par interdiction doublon le fait qu'un meme uid ne doit pas apparaitre 2 fois dans le sheet Userdata. ton programme il marche et est rapide il manque juste la partie doublon

je l'ai pas mentionné plus haut parce qu'il y'avais une macros qui le faisais déjà dans le fichier en faite.
 

AtTheOne

XLDnaute Accro
Supporter XLD
Bonsoir à toutes & à tous, bonsoir @Jorelle27
Voici la version avec macros, sans formules ni MFC
On peut peut-être accélérer la partie recherche des chevauchement des périodes de contrats en ne passant que par des tableaux et en faisant une boucle supplémentaire, là j'utilise EVALUATE de la formule utilisée dans la version par formules et MFC.
A bientôt
 

Pièces jointes

  • gestion de user et contrat AtTheOne macros.xlsm
    29.3 KB · Affichages: 1

Jorelle27

XLDnaute Nouveau
merci, excuse moi j'avais pas vu ta question pour les dates de congé en fait sur une année une personne peux prendre plusieurs congés exemple du 05/02/2024 -->12/02/2024 et du 03/05/2024 -->10/02/2024 pour un même contrat on souhaite afficher la dernière date
 

AtTheOne

XLDnaute Accro
Supporter XLD
Re
sur une année une personne peux prendre plusieurs congés exemple du 05/02/2024 -->12/02/2024 et du 03/05/2024 -->10/02/2024 pour un même contrat on souhaite afficher la dernière date
Oui mais tu n'as la possibilité que de décrire une seule période de congés par contrat ...
Y'a quelque chose que j'ai du mal comprendre ! ou ton fichier n'est pas assez représentatif...
À bientôt
 

Jorelle27

XLDnaute Nouveau
Re

Oui mais tu n'as la possibilité que de décrire une seule période de congés par contrat ...
Y'a quelque chose que j'ai du mal comprendre ! ou ton fichier n'est pas assez représentatif...
À bientôt
jusqu'ici c'est correct,
pour ajouter un deuxième congé je recopie la meme ligne du contrat en cours puis je modifie la la cellule congé pour avoir une traçabilité sur les congés et pour afficher j'avais récupéré max date de uid
 

AtTheOne

XLDnaute Accro
Supporter XLD
Re
je recopie la meme ligne du contrat en cours puis je modifie la la cellule congé
Du coup tu as des recouvrements dans tes dates de contrats, ça ne va pas avec ce que j'ai fait pour détecter les chevauchements de dates pour les contrats.
J'ai considéré que les dates de contrats ne devaient pas se chevaucher car :
le plus important c'est bloquer les doublons, date de debut et de fin du contrat en cours
Éclaire moi sur ce point en mettant un exemple avec 2 ou 3 périodes de congés pour un même contrat.
À bientôt
 

Jorelle27

XLDnaute Nouveau
effectivement les dates doivent se chevaucher
je t'ai ajouté une ligne comme exemple
 

Pièces jointes

  • gestion de user et contrat AtTheOne macros.xlsm
    26.1 KB · Affichages: 1
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…