Bonjour à tous,
Je m'en remets à vous face à mon problème que je n'arrive pas à solutionner depuis deux jours.
Je souhaite dans un formulaire bloquer la saisie si l'heure d'arrivée d'un jour N pour un personne donnée est inférieur à l'heure de départ + 11h d'un jour N-1 pour cette même personne. (Représentant un temps de repos minimal de 11h entre deux jour de travail consécutif)
Pour cela je dispose d'un formulaire qui me sert à renseigner les heures de départ et d'arrivée ainsi que la date. Ce formulaire se déverse dans l'onglet linkcell qui sert d’intermédiaire car des formules sont ajoutées à ce moment la. Enfin La ligne crée dans cet onglet grâce au formulaire vient se coller dans l'onglet saisie à la dernière ligne vide.
Voici la partie du code qui me pose problème. C'est surtout pour la logique que je pensais mettre en place que je le laisse là (sinon je sais qu'il est bien faux)
Dim L As Integer
Dim Maximum As Long
Dim Ca As Range
Dim Da As Range
Dim Ea As Range
With Worksheets("Saisie")
Set Ca = .Find(NomTextBox, LookIn:=xlValues)
Set Da = .Find(PrenomTextBox, LookIn:=xlValues)
Set Ea = .Find(DateTextBox - 1, LookIn:=xlValues)
Maximum = Evaluate("=MAX(IF(B:B=Ca,IF(C:C=Da,IF(G:G=Ea,J:J))))")
End With
If MsgBox(" Confirmez-vous l’insertion de ce nouveau contact ? ", vbYesNo, " Demande de confirmation d’ajout ") = vbYes Then
If HeureDebutTextbox < Maximum + 11 Then
MsgBox "Il n'y a pas eu 11h de repos entre deux jours consécutifs"
Exit Sub
Je vous laisse aussi fichier en espérant que vous pourrez m'aider.
Bonne journée