Bonjour,
Je m'excuse de mon préjugé.
Dû à ton nombre de posts et au code relativement élaboré, j'ai trop présumé et je n'ai pas regardé le code en profondeur ... désolé.
Je suis moi même en apprentissage et je n'ai pas encore l'oeil avisé.
Ceci dit ... quand on utilise un "With Sheets(Mat_emp)", sur les lignes qui suivent, il faut mettre un point devant les objets si on veut que ces objets soient ceux de la feuille concernée par le "With...." ... ex.: If .Cells(6, 1) . Sinon, les objets seront ceux de la feuille à l'écran.
Tel que tu l'as conçu, on ne peut saisir qu'une seule heure à la fois (entrée/sortie.....). Si on complète plus d'un champ (car on peut saisir manuellement même si le double clique insère l'heure en cours de l'ordinateur), seul le dernier est inscrit dans la feuille de la personne. Par contre, je saisis un champ, je clique sur Valider, je peux effectuer une 2e saisi manuelle sur un autre champ, clique sur Valider, etc. Je ne sais pas si c'est voulu ou pas. Sinon, il faudrait empêcher la saisie manuelle.
Si une personne saisit une heure et clique sur valider, sans fermer le Userform, une 2e personne peut sélectionner son nom et son matricule et la saisie de l'heure sera bien comptabilisée à son nom.
Si on utilise des "select", il faut impérativement afficher la feuille concernée à l'écran. Mais on peut éviter, j'ai modifié le code en conséquence pour éviter les select.
Jecherche