Excel;protection conditionnelle

mall60 Messages postés 3 Statut Membre -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
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

9 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  3. bouriquette Messages postés 442 Date d'inscription   Statut Membre Dernière intervention   44
     
    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
  4. mall60 Messages postés 3 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mall60
     
    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
  7. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  8. mall60
     
    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
  9. Raymond PENTIER Messages postés 58213 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    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
  10. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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