Interdire plus de 11 fois une valeur dans une plage

Bonjour

Dans le tableau ci-joint, j'ai un onglet par mois et pour chaque jour des mois (les plages C6-C175, D6-D175... jusqu'à M6-M175) je souhaiterai que le nombre de cellule comportant la valeur "CA" soit limité au nombre inscrit dans la cellule de la feuille congé!H34 (ici 11fois).

J'ai essayé par Validation des données, cela marche lorsque j'écris dans chaque cellule mais cela ne bloque pas si je réalise des copier/coller de cellule comprenant la valeur "CA".

Je pense que le VBA peut m'aider pour réaliser cette limitation sur le plages C6-C175 à la plage M6-M175 de tous les onglets des mois.

Dans le cas où il y aurait une tentative d'inscription au delà de 11 fois, il y aurait un texte "Nombre maximal de congé annuel atteint" et la tentative serait bloquée.

Je vous remercie par avance

Emmanuel

5exemple.zip (196.60 Ko)

Bonjour, une petite remarque en passant : des tableaux de suivis comme les vôtres.... Si vous êtes obligés de masquer des lignes... C'est que la structure ne convient pas je crois... Bon sinon sachez que la fonction NB.SI(Plage;Critère) admet en Critères les "*" pour remplacer plusieurs caractères et le "?" pour 1 caractère, du coup vos formules :

=NB.SI(C6:C175;"CA")+NB.SI(C6:C175;"CAJ")+NB.SI(C6:C175;"CAJ/STN")+NB.SI(C6:C175;"CAJ/RSTN")+NB.SI(C6:C175;"CAJ/CEN")+NB.SI(C6:C175;"CAJ/AAN")+NB.SI(C6:C175;"CAJ/CPN")+NB.SI(C6:C175;"CAJ/V")+NB.SI(C6:C175;"CAJ/PCN")+NB.SI(C6:C175;"RPM")

peuvent être remplacées par :

=NB.SI(C6:C175;"CA")+NB.SI(C6:C175;"CA*")+NB.SI(C6:C175;"RPM")

De même pour la nuit :

=NB.SI(C6:C175;"CA")+NB.SI(C6:C175;"*CAN")+NB.SI(C6:C175;"RPM")

Je dis cela, c'est à vérifier, je ne connais pas le fonctionnement de votre fichier. D'ailleurs n'y a t il pas une erreur les CA sont calculés en jour et en nuit ? Idem pour le RPM.

vbMBHB

Merci pour cette remarque qui va me simplifié grandement mon tableau actuelle.

Bon si je reprend, un onglet par mois, sur chaque onglet une colonne par jour, sur chaque colonne une ligne par Agent. Votre demande vérifier par jour qu'il n'y a pas plus de 11 Agent en CA lors de saisie "manuelle" ou bien lors de saisie par "copier/coller".

Est-ce bien cela ?

Avez vous essayé une MFC conditionnelle de la cellule de calcul journalier du nombre de CA si celui-ci dépasse les 11.

Pour le premier onglet mois "Janvier", pour le premier jour colonne C, au niveau de la cellule C176 mettre une MFC avec la définition d'une formule :

=ET(NB.SI($C$6:$C$150;"*CA*")>Max_Congés) avec comme forme un fond rouge et une police jaune et en gras, où Max_Congés est le nom que j'ai donné à la cellule Congé!H34.

vbMBHB

Rechercher des sujets similaires à "interdire fois valeur plage"