Limiter le nombre de cellule remplie sur une ligne

Fermé
Danylou - Modifié le 9 juin 2022 à 13:59
 Danylou - 10 juin 2022 à 17:44
Bonjour,

J'ai un tableau excel de choix de petit déjeuner scindé en 3 colonnes (lundi, mercredi et vendredi) eux même scindé en 4 colonnes chacun (porc/volaille/confiture/fromage) et autant de ligne que de patients. Ces colonnes ont une validation des données afin que l'utilisateur ne puisse inscrire que x ou 1 et j'aimerais limiter le nombre de choix à 1 cellule à inscrire parmi les 4 par jours. Avez-vous une idée de comment procédé? Une possible deuxième validation des données (j'ai essayé de chercher mais pas trouvé) en plus de la première ou du vba ou autre? Merci par avance, Dany



Configuration: Configuration: Windows / Chrome 102.0.0.0
A voir également:

11 réponses

JCB40 Messages postés 2926 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 4 octobre 2024 461
9 juin 2022 à 14:04
Bonjour,
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement

0
Bonjour JCB40

Merci de l'information, voici le lien:
https://www.cjoint.com/c/LFjmppTDEWW

Cordialement
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
9 juin 2022 à 16:30
Bonjour

Est ce que la plage à remplir se limite
- au premier tableau
- à cette unique feuille

Cdlmnt
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
9 juin 2022 à 17:12
Si oui-oui, une solution (macro)
https://www.cjoint.com/c/LFjplECoUAB

Cdlmnt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Non les plages à remplir sont pour tous les tableaux afin de pas créer de double petit dej pour un même patient

Non il y aura au maximum 2 feuilles (la série du mardi/jeudi/samedi) pour le petit dej. Néanmoins la méthode s'appliquera aussi aux repas donc plusieurs autres feuilles dans la même configuration que le petit dej.

Je joint un classeur plus complet afin que vous ayez une vu d'ensemble (j'ai désactivé la plupart des macros mais désolé si il y en a une qui a échappé à ma vigilance):

https://www.cjoint.com/c/LFjpjrC6u1W

Je vous remercie par avance
Cordialement,
Danylou
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
9 juin 2022 à 17:47
Un début
pour les feuilles petit dej et repas LMV salle 1
https://www.cjoint.com/c/LFjpQVgwuDB
j'ai desactivé les procedure Selection_Change et Before_DoubleClick
des questions
1. il y a des cellues grisées, on en fait quoi ?
2. Dans la feuille repas il y a plusieurs cese remplies dans une même ligne , on fait quoi ?
3. le nombre de lignes des tableaux à remplir peut il évoluer ?

RQ. Il faudrait veiller à préciser l'intégralité du pb,!

Cdlmnt
0
Merci pour ces débuts de solution ccm81. Je regarderais tout à l'heure et je vous tiendrais au courant.

1- Rien, ces cellules grisées sont là pour empêcher la sélection d'un repas que le patient ne peux pas manger pour causes diverses (religion par exemple)

2- Justement c'est pour éviter ce genre de problème que j'aimerais trouver la solution (1 choix de repas ou petit dej par patient par jour)

3- Oui suivant les contraintes du service

Mon problème est que j'ai des collègues qui commandes des repas ou petit dej en plus pour chaque patients ou pour le service ce qui est interdit. J'aimerais donc pour chaque patient, que ces collègues ne puissent choisir qu'un seul repas ou petit dej par jour afin de ne pas sur commander (soucis de gaspillage, perte d'argent et surtout de santé car ces patients ramène ces repas/petit dej eux donc risque d'intoxication alimentaire et interne car le personnel sauf libéral n'a pas droit au repas car ticket resto) voila voila

Merci pour vos propositions :)
0
Testé et ça fonctionne bien pour les petits dej et les repas, merci.

Avez-vous quand même la possibilité d'étendre la contrainte sur les 6 colonnes pour les repas au lieu de 4?

Merci par avance.

Cordialement,
Danylou
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié le 9 juin 2022 à 21:15
'étendre la contrainte sur les 6 colonnes pour les repas
ok
https://www.cjoint.com/c/LFjsVSmDb1B
RQ. tu ne m'as pas parlé de la salade, j'ai supposé que c'était indépendant des sandwichs
A tester pour les deux ptits dej et les deux repas LMV

Une question. Est ce que les feuilles ptit dej et repas contiennent des listes de validation en dehors des tableaux ? Si c'est non, l'ajout de ligne peut se faires sans trop de douleur

Cdlmnt

Attention. lien modifié
0
Super merci ça fonctionne impec dans un sens mais pas dans l'autre ah ah

Je m'explique, quand je coche un repas puis rajoute une salade la contrainte ne fonctionne pas alors que si je choisis une salade et qu'ensuite je veux cocher un repas, là ça fonctionne et je ne peux pas choisir plus que 1 plat, peux-tu y remedier stp?

Désolé, je n'ai pas été assez clair dans mes explications. Pour les petits dej c'est toujours un sandwich mais pour le repas du midi/soir le patient à le choix entre un repas, une salade parmi 6 choix ou un sandwich.

Ok merci pour l'explication. Pour l'instant je ferais au plus simple et ensuite j'adapterais si il faut. Normalement mes tableaux sont sensés être standardisé mais il y a toujours des irréductibles.

Merci par avance,

Cordialement,
Danylou
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
9 juin 2022 à 21:28
ok ça m'apprendra à fair du zèle ;-)
tu supprime les lignes
If co Mod nbco = 1 Then Exit Sub

Une question pour la suite : Est ce que les feuilles ptit dej et repas contiennent des listes de validation en dehors des tableaux ? Si c'est non, l'ajout de ligne peut se faire sans trop de douleur

Cdlmnt
0
Merci c'est nickel maintenant.

Faire du zèle c'est bien (merci au passage pour la simplification du calcul des petits dej ;) )

Non pas de liste de validation en dehors des tableaux :)

Bonne soirée à toi

Cordialement,

Danylou
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié le 10 juin 2022 à 10:52

Non pas de liste de validation en dehors des tableaux :)

Super, l'ajout de lignes ne devrait pas poser de gros pb, il suffira de leur attribuer (manu) les listes de validation, L’évènement Change ne lancera la vérification uniquement lorsque la cellule contiendra une liste de validation, une seule ligne à changer !
https://www.cjoint.com/c/LFkiYt4VfZB
A tester sérieusement avant de finaliser

Si c'est ok, tu as pas mal de boulot
Sur ton fichier origine (pas le mien, je suis sous excel 2003 et le passage vers une version plus récente pose parfois quelques pb, chez moi ça a été pénible)
1. Créer un nouveau module (je l'ai appelé Module0 pour qu'il soit en début de liste). Y copier le code de mon Module 0. Éventuellement modifier le message d'erreur.
2. Recopier le code des modules ptit dej dans les 2 tiens
3. Copier le code des modules Repas dans les xx tiens
4. Ça devrait être tout

Cdlmnt

RQ1. Attention, lien modifié à 10h51
RQ2. Attention au "z" devant les procedures SelectionChange et BeforeDoubleClick qui les inhibe
0
Ok je testerais sérieusement dès que j'aurais un poil plus de temps pour ajouter ton code à la vrai version du classeur.

J'ai 2-3 mois pour tout bouclé, ça devrait le faire je pense et si j'ai un pépin je repasserais par le forum demandé un coup demain.

Merci des conseils, c'est sympa en tout cas :)

ok je retéléchargerais la dernière version quand je serais à la maison.
ok je regarde pour le "z", merci de l'info.

Cordialement,

Danylou
0