Excel;protection conditionnelle

Fermé
mall60 Messages postés 3 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 30 octobre 2011 - 17 oct. 2011 à 21:52
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 23 oct. 2011 à 08:27
Bonjour,

J'ai créé une feuille permettant d'enregistrer la présence journalière d'enfants dans un centre de loisirs.
Cette feuille est mensuelle, la ligne supérieure indique le jour de la semaine(du lundi au dimanche).
Selon le mois, les positions du samedi ou dimanche varient.
Pour faciliter la saisie, je voudrais interdire l'accès aux colonnes correspondant aux samedi et dimanche (celles ci changent chaque mois) en les verrouillant, automatiquement.
Quelqu'un peut il me donner une solution?
Merci



A voir également:

9 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 686
17 oct. 2011 à 23:04
bonjour

Pour ce que tu veux faire, il te faut une macro événementielle au changement de date.

Si tu pouvais nous mettre un exemple de classeur, sans données identifiables et privées, mais avec la structure de tes données sur http://www.cijoint.fr/ puis nous mettre le lien généré ici ce serait plus facile pour te l'écrire.
2
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
22 oct. 2011 à 11:51
Bonjour

peut être serait il plus simple de ne pas afficher les samedi et dimanche dans les entêtes?:

exemple:
en B1 vous entrez la date du 1° jour du mois qui ne soit ni un samedi, ni un dimanche
en C1 la formule à tirer:
=SI(JOURSEM(B1)=6;B1+3;B1+1)

pour avoir une feuille standard qui n'affiche rien dans les mois courts:
=SI(OU(B1="";MOIS(B1)+1>MOIS(B1));"";SI(JOURSEM(B1)=6;B1+3;B1+1))

crdlmnt
2
bouriquette Messages postés 1044 Date d'inscription vendredi 11 février 2005 Statut Membre Dernière intervention 12 janvier 2018 44
17 oct. 2011 à 22:00
bonsoir d'abord tu va dans outils et puis protection ensuite tu crée un mot de passe pour protéger ta feuille et ensuite tu sélectionne et tu vérouille ou dévérouille tes cellules en allant dans format puis cellule puis protection
0
mall60 Messages postés 3 Date d'inscription lundi 17 octobre 2011 Statut Membre Dernière intervention 30 octobre 2011
Modifié par mall60 le 17/10/2011 à 22:50
OK,mais c'est cette manoeuvre que je veux éviter.
Chaque mois, j'actualise la date. Par conséquent, les jours de la semaine varient. ,Je voudrais que les cellules qui se trouvent dans une colonne portant " samedi" ou " dimanche" soient automatiquement inaccessibles.
Merci
0

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

Posez votre question
Bonjour,

J'ai un peu de mal avec la manip.
Voila le lien te permettant de récupérer le fichier:
http://www.cijoint.fr/cjlink.php?file=cj201110/cijChpCzLc.xls

Merci pour ce que tu peux faire.

M.A
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 686
22 oct. 2011 à 21:34
bonjour

Avec une petite macro à l'ouverture de ta feuille, ce que tu demandes devrait fonctionner :

http://www.cijoint.fr/cjlink.php?file=cj201110/cijw1ymR7n.xls

Il faut bien sûr laisser la macro libre de s'exécuter.
0
Bonsoir,
C'est pas tout à fait ça.
La macro fonctionne pour certains mois, mais pas pour tous.
Elle ne semble pas suivre évolution des jours du calendrier.
Détail:je ne vois pas la macro dans la fenêtre 'macro'.
Désolé de t'ennuyer ce week-end.
M.A
0
Raymond PENTIER Messages postés 58423 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 mai 2024 17 105
23 oct. 2011 à 03:45
Bonjour mall60.

Comnne chacun le sait maintenant dans ce forum, je suis nul en VBA, et je ne sais donc pas écrire des macros. Alors j'essaie de faire sans !

Déjà tu peux alléger tes MFC, qui sont bien trop nombreuses.
Ainsi pour la plage C6:AG21 tu pourrais remplacer tes 3 conditions
=(C$4="sam")
=(C$4="dim")
=(C$5="")
par l'unique condition
=OU(C$4="sam";C$4="dim";C$="").

Je te propose d'utiliser la commande Validation des données.
Tu sélectionnes la plage C6:AG21 ; tu fais
Données/Validation des données/Autoriser/Personnalisé
et dans la fenêtre "Formule" tu écris =ET(C$4<>"sam";C$4<>"dim").

Cela me semble bien plus simple et rapide, et au moins aussi efficace qu'une macro. Qu'en penses-tu ?
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
23 oct. 2011 à 08:27
Bonjour tous
j'ai fait un peu joujou (c'est dimanche :-)avec le fichier dans le sens de ma proposition sans affichage des samedi et dimanche:
soit ici
http://www.cijoint.fr/cjlink.php?file=cj201110/cijShHQzvq.xls

voir la feuille famille 1
elle se passe de la feuille calendrier il suffit de placer en B2 sur la feuille accueil la date du 1° jour du mois cherché.
à noter que la formule en C4 n'est pas la même que sur le reste de la ligne.

bon dimanche
crdlmnt

0