Bonjour à tous,
Suite à de multiples recherches, je n'ai pas trouvé le Graal pour résoudre mon problème. De ce fait, je m'en remets à vous
J'ai fabriqué un fichier permettant aux collaborateurs de saisir leurs dates de congés via un userform -> onglet 1. Interface
Les données saisies sont inscrites dans un tableau -> onglet 2. Listingcongés
Ma problématique est de vérifier la cohérence des dates saisies rapport aux dates saisies de manière antérieure par le collaborateur dans le userform.
Via VBA et les forums, j'ai implémenté un code vérifiant si le collaborateur B a déjà saisi une date de début X ET une date de fin Y dans l'onglet 2. Listingcongés.
En gros, si pour toutes lignes contenant uniquement B, X ET Y sont déjà présents, alors le userform renvoie une MsgBox avec un message d'erreur invitant le collaborateur à vérifier sa saisie. Cela semble plutôt bien marcher
Par ailleurs, je veux empêcher le collaborateur B de saisir un congé qui entre en conflit avec un autre congé qu'il a déjà saisi par le passé. En d'autres mots, trouver un moyen de vérifier si le congé saisi est cohérent par rapport aux congés saisis précédemment par la même personne, notamment au niveau des intervalles de dates.
Exemple :
Saisie 1 : Collaborateur B saisit un congé Date de début : 4 février et Date de fin : 8 février.
Saisie 2 : Collaborateur B a la tête en l'air et pose un nouveau congé : Date de début : 6 février et Date de fin : 7 février
-> J'aimerai que le Userform bloque cette saisie car elle entre en conflit avec la saisie n°1. L'intervalle de dates sur la saisie n°2 rentre dans l'intervalle de dates de la saisie n°1 concernant le collaborateur B.
Saisie 3 : Collaborateur B saisi un congé Date de début : 1 février et Date de fin : 4 février
-> De même blocage, car la saisie n°3 entre dans l'intervalle de date de la saisie n°1.
Dans le userform le collaborateur correspond au champ "Listedemandeurs", date de début "TextBox3", date de fin "TextBox4".
J'espère avoir été clair
Par avance, je vous remercie pour votre aide précieuse.
Bien cordialement,