Empêcher la saisie lorsqu'un total est atteint

Bonjour

Et merci pour ce forum très instructif pour une novice comme moi.

J'ai créé un tableau d'inscriptions pour plusieurs usagers. Les usagers sont sur les lignes et mes plage horaire les colonnes.

Lorsque l'un d'eux veut s'inscrire sur une plage horaire

Il met un "1" devant son nom.

J'aimerais que lorsqu'un total de 30 est atteint dans une colonne, un message d'alerte s'affiche à(ça j'ai réussi)

Mais surtout qu'on ne puisse plus saisir d'autres "1"

J'espère être claire.

Merci beaucoup aux personnes qui auront une solution pour moi s'il en existe une...

Bonne journée

Caro

Bonjour,

Sans voir le fichier on ne peut émettre que des hypothèses.

La première qui vient à l'esprit est de limiter la feuille au nombre de lignes utiles :

On utilise pour cela la propriété ScrollArea (Développeur > Propriétés) puis on protège la feuille...

Il y a plusieurs autres possibilités, mais elles passent toutes plus ou moins par la protection de la feuille !

A+

Bonjour,

Sans voir le fichier on ne peut émettre que des hypothèses.

La première qui vient à l'esprit est de limiter la feuille au nombre de lignes utiles :

On utilise pour cela la propriété ScrollArea (Développeur > Propriétés) puis on protège la feuille...

Il y a plusieurs autres possibilités, mais elles passent toutes plus ou moins par la protection de la feuille !

A+

bonjour

je crois que dans Validation de données ,il y a moyen de trouver une option pour palier

merci

et voici en pj mon tableau test

pardon de ma naïveté mais j'ai découvert le monde obscur de la VBA cette nuit à 2h du matin à force de fouiner...

voici les formules (code? je ne sais pas comment on appelle cela) que j'ai rentré

Private Sub Worksheet_Calculate()

If Range("e69") > 20 Then MsgBox "Attention !!! plus de place disponible"

If Range("f69") > 20 Then MsgBox "Attention !!! plus de place disponible"

If Range("g69") > 30 Then MsgBox "Attention !!! plus de place disponible"

If Range("h69") > 40 Then MsgBox "Attention !!! plus de place disponible"

If Range("i69") > 40 Then MsgBox "Attention !!! plus de place disponible"

If Range("j69") > 40 Then MsgBox "Attention !!! plus de place disponible"

If Range("k69") > 30 Then MsgBox "Attention !!! plus de place disponible"

If Range("l69") > 20 Then MsgBox "Attention !!! plus de place disponible"

If Range("m69") > 9 Then MsgBox "Attention !!! plus de place disponible"

End Sub

ce qui fonctionne très bien mais qui n'empêche pas les usagers de saisir d'autres inscription alors que mon maximum défini est atteint…

j'espère être plus claire???

Caro

re

je n'ai fais que pour la col en jaune (essai)

tu selectionnes la colonne et tu regardes dans validation de données

396caro.xlsx (38.10 Ko)

cordialement

merci Tulipe_4

j'ai compris le principe

ce que je ne comprends pas c'est pourquoi la formule est

=ET(SOMME(E68:E133)<=21) alors que les données vont de E3 à E68

Cela a t-il une importance ce 133? pourquoi ne tape t-on pas=ET(SOMME(E3:E68)<=21) ?

je dois donc simplement faire la même chose avec les autres colonnes en gardant cette formule mais en changeant la lettre de la colonne.

un grand merci en tout cas !!!

Caro

re

oui tu as raison , j'ai du merdoyer en selectionnant ; l'essentiel est que tu aie percuté le principe

à noter que tu peux y ajoindre un message d'avertissement

cordialement

j'ai parlé trop vite

j'ai testé en supprimant 2 lignes pour mettre des "1" ailleurs

(dans le cas ou un enfant se désinscrit, cela devrait libérer des places)

et du coup le message d'erreur surgit alors que je ne suis qu'au total de 18...

on m'avait déja proposé de passer par la validation des données et cela ne fonctionnait pas non plus dès qu'on effacait une ligne (la formule n'était pas la même que celle que tu m'as donnée)

zut zut...

caro

re

bizzare ; essaie un peu avec NBVAL

peux tu être plus explicite… je découvre les validations de données et la vba que depuis peu

tu veux dire dans la formule?

=NBVAL(SOMME(E68:E133)<=21) ca?

CARO

Bonjour,

tu n'aurais pas inclue à tort la ligne du total dans ta validation des fois ?

Et le test devrait être <21 ou <=20 et non <=21 je pense. Tulipe a dû avoir un we difficile

eric

Bonsoir Eric

j'ai sélectionner la colonne de E3 à E68 (car le total est en E69)

puis en validation de données j'ai fait "personnalisée" =ET(SOMME(E3:E68)<=21)

car je n'ai que 20 places

quand je remplis pour la 1ère fois 21 lignes, le message apparait bien et bloque la saisie

mais dès que j'efface par exemple 2 ligne pour en remplir 2 autres et bien cela ne fonctionne plus

je ne comprends pas pourquoi... bon en même temps je suis plus que débutante...

Bonsoir Caro, le forum,

essaye avec cette formule : =ET(SOMME(E$3:E$68)<=20)

(j'ai rajouté 2 signes $)

dhany

J'insiste, le test doit être <=20 et non <=21 (là tu en autorises 21 et non 20)

Bonjour eriiic,

oui, tu as raison ! j'viens d'corriger mon erreur ; merci d'l'avoir signalé !

dhany

un IMMENSE Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

ca fonctionne parfaitement!!

j'efface, je remplis, je re efface! bref aucun bug!!!

merci à vous toutes/tous pour votre aide, votre patience et votre gentillesse.

Vous sauvez ma rentrée 2018

Belle nuit à tout le monde

Caro

merci pour ton retour ! et belle nuit à toi aussi !

dhany

salut Eriiic

meme pas

non; c'est NBVAL tout court sans Somme

=ET(NBVAL(E2:E68)<=21)

cordialement

Bonjour tulipe_4, le forum,

ok pour la fonction NBVAL() au lieu de SOMME(), et pour une comparaison avec 21, mais est-ce que c'est pas plutôt :

* pour la plage E3:E68 au lieu de E2:E68 ? car dans son post d'hier à 21:52, Caro a écrit : « alors que les données vont de E3 à E68 » ; et dans son post d'hier à 23:00, Caro a ajouté : « j'ai sélectionné la colonne de E3 à E68 »

* vu qu'c'est une formule pour MFC, et pour une plage sélectionnée au préalable qui est verticale, en l'occurrence E3:E68, est-ce qu'il ne faudrait pas quand même les 2 signes « $ » ? ce qui donnerait ceci :

=ET(NBVAL(E$3:E$68)<=21)

dhany

re

cela doit dépendre de la chronologie des faits ( je crois) :selectionplage >>saisie formule ou selection 1ere cel et incrémentation sur plage

mais c'est vrai; avec des $$ c'est plus sur

je reconnais que ça fait au moins 5 ans que je n'ai personnalisé une validation

cordialement

a voir eventuellement ......

c'est la cel en bleu qui "module "

Rechercher des sujets similaires à "empecher saisie lorsqu total atteint"