Si une entrée apparaît >5 fois alors générer une boîte de dialogue

Salut l'équipe

Je tourne en rond et là je vous demande votre aide

J'ai un tableau où des collaborateurs doivent sélectionner leur prénom en colonne A, leur choix de formation en colonne B et définir une date en colonne C. Je ne veux pas plus de 5 personnes inscrites à la même date -> peu importe la formation car plusieurs formations sont possibles à la même date, mais il faut que la 6ème personne quoi choississe une date déjà 5 fois existante, ben qu'elle reçoive un message d'erreur lui indiquant qu'il y a déjà 5 personnes en formation à cette date là et qu'elle doit en choisir une autre

Je vous vous joins mon document ->

10help.xlsm (16.75 Ko)

la colonne Accepté? en D peut très bien être supprimée si c'est possible de faire apparaître un message box, sinon faire que le mot Refusé apparaîsse lorsqu'une même date a déjà été saisie 5 fois dans la colonne C

J'espère que vous allez me trouver une solution Merci tout plein et excellente fin de journée à tous

Sophie

Bonjour zacky, le forum,

Un essai par formule...

En D2 :

=SI(NB.SI(C$2:C2;C2)>5;"Refusé";"")

A tirer vers le bas.

Cordialement,

Salut,

Tente cette formule en D2 :

=SI(NB.SI(C$2:C2;[@Date])>5;"Refusé";"")

et glisse vers le bas

A cumuler avec une mise en forme conditionnelle si tu veux que la case passe en rouge,

Edit : Salut xorsankukai, tu as été plus rapide

oh merci infiniment!!!!! Je savais que le code était tout petit mais de là à le trouver

C'est parfait!!!! Un énorme merci et une superbe soirée à vous

Re,

Merci zacky pour le retour,

Bonjour Girodo,

faire apparaître un message box, sinon faire que le mot Refusé apparaîsse lorsqu'une même date a déjà été saisie 5 fois dans la colonne C

Un essai pour le fun....

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim plage As Range, dl As Long

           dl = Range("C" & Rows.Count).End(xlUp).Row
    Set plage = Range("C2:C" & dl)

    If Not Application.Intersect(Target, plage) Is Nothing Then
     If Target.Count > 1 Then Exit Sub
      If Application.CountIf(plage, Target.Value) > 5 Then MsgBox "Session complète," & Chr(10) & "Veuillez choisir une autre date": Target.Value = "": Target.Select
    End If
End Sub
4help.xlsm (17.94 Ko)

Cordialement,

Ah Ah Ah la claaaaaaaaaaaaaaaasse

Génialissime, c'est pile poil exact ce qu'il me fallait!!

Encore un grand merci à toi pour ton aide

Rechercher des sujets similaires à "entree apparait fois generer boite dialogue"