Interdire saisie dans liste de validation

Bonjour à tous,

Je vous explique mon problème. Je dispose d'un tableau pour gérer les absences.

J'ai une liste de validation sur la feuille "planning" en colonne F qui me permets de choisir un motif d'absence pour chaque agent (nom de l'agent en colonne E).

Entre autre motif il y a les "journées enfants malade" dont le quota est fixé à 6.

Dès lors que la personne a dépassé ce quota, je voudrais que la" journée enfant malade" ne puisse plus être saisie (ou mieux qu'elle soit grisée).

Le cumul de ces "journées" se trouve sur une autre feuille ("Gestion Absences") en colonne T avec une ligne pour chaque agent.

Sur ma feuille planning, je saisi le nom de l'agent (colonne E) et le motif de l'absence (colonne F). Si cet agent n'a plus droit à ces journée j'ai une msgbox d'alerte qui me le dit.

Voici mon bout de code :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If InStr(1, Sheets("Gestion Absences").Range("T6"), "0", vbTextCompare) <> 0 Then

If Target.Count > 1 Then Exit Sub

If Target = "Enfant malade" Then

Target.Offset(0, 1) = MsgBox("Journées enfant malade épuisées", vbCritical)

End If

End If

End Sub

J'ai plusieurs problèmes :

  • je ne sais pas comment indiquer que le total d'absences "enfant malade" se trouve en colonne T (la colonne entière et non simplement la colonne T6).
  • comment faire pour qu'à la suite de l'alerte, la cellule F se vide et ne reste pas sur "Enfant malade".

J'espère être assez clair et vous remercie d'avance pour vos lumières.

Salut Fred,

Joins donc ton fichier pour avoir une chance d'être aidé...

Cordialement, Daniel

Bonjour Dan,

Il faut que j'allège le fichier, celui-ci est trop lourd en l'état.

Bonjour à tous,

Voici le fichier très allégé mais le principe est là.

Merci d'avance.

Bonjour Fred,

Un début de réponse dans la suggestion jointe.

Cordialement,

Daniel

26fred777.xlsm (16.16 Ko)

Bonjour Daniel et merci,

Cependant, ce n'est pas vraiment ce que je souhaitait.

En fait, je voudrais qu'au moment de la saisie dans la liste de validation, une Msgbox d'alerte apparaisse et m'empêche de saisir le motif "enfant malade" si son solde est à 0.

Merci d'avance

Fred,

J'ai pris la précaution de dire que ce n'était qu'un début de réponse : dans ma suggestion, seuls sont traités les 2 points suivants :

  • calcul dans la liste Agents du cumul des jours Enfant Malade par agent
  • MFC dans la feuille listant les absences pour les agents dépassant le seuil

As-tu au moins détecté ces deux points ? Si oui, faut-il continuer sur cette base ?

Cordialement, Daniel

Rechercher des sujets similaires à "interdire saisie liste validation"