Systeme de pointage

geo -  
 geo -
Bonjour,

j'ai créer un programme pour le pointage de mon personnel sur excel, celui-ci fonctionne tres bien.
le probleme que je rencontre c'est que mon personnel change de feuille et pour modifer l'heure d'arriver.
je pensais modifier le programme pour que celui-ci fonctionne que avec un pave numerique. mais je n'arrive pas a lance les macros avec la touche entrée.
ou alors est il possible de proteger le changement de feuille par un mot de passe?
je peux vous envoye le programme si vous le desirer

d'avance merci pour vos reponses

4 réponses

Résumé de la discussion

Problème central : un programme Excel de pointage pour le personnel fonctionne, mais les employés passent d'une feuille à l'autre pour modifier l'heure d'arrivée et la demande porte sur l'activation des macros par le pavé numérique. Des réponses évoquent la protection du projet VBA par mot de passe et le masquage de feuilles via des procédures comme CacherLesFeuilles et AfficherLesFeuilles, afin d'éviter des modifications. Certaines interventions soulignent que les protections Excel restent vulnérables, avec discussions sur le contournement des mots de passe et l'idée d'une base de données cryptée. En progression, plusieurs contributions suggèrent d’ancrer le flux utilisateur dans des modules standard et d’autres méthodes pour déclencher les macros sans exposer le code, mais cela comporte risques et essais.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
     
    Bonjour,

    L'objectif recherché n'est pas très clair, empêcher l'utilisateur de changer de feuille ?

    « je peux vous envoye le programme si vous le desirer »
    C'est une option mais, il serait plus simple de disposer de ton fichier,
    débarrassé des informations confidentielles s'il y lieu.

    Déposes le fichier avec des commentaires explicatifs détaillés sur
    https://mon-partage.fr/
    et mets le lien obtenu dans ton prochain message.
    0
    1. geo
       
      merci pour la réponse ,

      j ai la feuille principal ou l'employe entre son numero (dans une textbox) et appuye sur le bouton valide
      sur la deuxieme feuille, s enregistre le numero et le nom de l employe + la date et l heure.

      le probleme que je rencontre, c'est que les employe vont sur la deuxieme feuille pour modifier l'heure d'arrive ou de depart.

      pour regler le probleme je pensais enferme le pc dans une boite et laisser juste le pave numerique apparent mais pour cela il faudrait que je puisse activer les macros avec une touche du pave numerique

      je t'envoi le fichier demain car celui ci est au boulot
      0
    2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783 > geo
       
      Re,

      Tu peux protéger l'accès au VBA par un mot de passe et mettre la 2ème feuille en veryhidden
      0
    3. geo
       
      j ai déjà essaye de proteger les cellules par un mot de passe mais cela empeche alors d'enregistrer les résultats.
      je ne connais pas le veryhidden, peux tu m en dire plus ?
      0
    4. geo
       
      voici le lien pour le programme : https://mon-partage.fr/f/7E8TvseN/
      0
    5. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Bonjour,

      Il faut revoir le principe d'utilisation ;
      - Les commandes de l'administrateur ne doivent apparaître que pour lui.
      - Les employés n'ont besoin que des commandes de pointage, seule la feuille "num" est nécessaire. Toutes les autres devraient être masquées (propriété .Visible=xlSheetVeryHidden)

      D'autre part, l'ensemble du code est à améliorer :
      1. Il est fortement conseillé de déclarer toutes les variables. Option Explicit en début de chaque module évite d'en oublier.
      2. Lorsqu'on travaille sur plusieurs feuilles, il faut éviter d'utiliser les objets implicites, ex: Cells(6, 24), qui font référence au Parent actif, et utiliser systématiquement leur définition explicite, ex : Worlsheets("Num").cells(6, 24) c'est à dire toujours préciser sur quelle feuille se trouve la cellule plutôt que laisser Excel faire référence à la feuille active. De même, il faut aussi éviter de faire référence à ActiveCell
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour Geo

    Un vieil essai qui dénonce
    qui a ouvert et fermer le classeur et quand, l'ancienne et nouvelle valeur (dans une colonne pour la démo)

    mais il faut que tu protèges l'accès à VBA dans "bigbrother" et "dissident"
    https://mon-partage.fr/f/OSVXRcIz/

    0
    1. geo
       
      Bonjour michel, merci pour ta reponse mais je ne comprends pas bien ton explication.
      a savoir que le programme reste ouvert en permanence donc difficile de savoir qui a modifié en dernier
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Je suppose que tu ne regardes pas toute la journée qui écrit ou modifie les heures !
      tu fermes bigbrother et tout ce qui se passe dans la colonne "démo" est enregistrer dans bigbrother sans que l'on ouvre bigbrother (inscription dans un classeur fermé)
      donc, quand tu rouvres bigbrother, tu as le point sur l'activité de "dissident"

      Ps: je n'avais pas vu ton classeur...
      0
    3. geo
       
      desole mais je ne comprends pas
      car n'importe qui peut modifer sans mettre mettre de code
      0
  3. Utilisateur anonyme
     
    Bonjour,
    en parcourant ce fil sans avoir téléchargé les fichiers présentés, je me demande si la soluion ne serait pas un userform (un formulaire) avec la feuille excel cachée.

    Dans l’userform, il y a des zones de saisie pour toutes les infos dont tu as besoin, et un bouton Valider qui ne serait actif qu’une fois toutes les infos saisies
    0
  4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voici un exemple:

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

    Pour comprendre les processus employés voir ces
    programmes:

    https://codes-sources.commentcamarche.net/source/53885-password-classeur-excel

    https://codes-sources.commentcamarche.net/source/53948-protection-vbaproject

    @+ Le Pivert
    0
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 783
       
      Une protection toute relative qui ne résiste pas à la méthode classique (.xlsm => .7z et DPB => DPx)

      Le plus efficace reste la pointeuse biométrique...
      0
    2. geo
       
      Bonjour merci pour ta réponse mais cela ressemble a la proposition de patrice avec la macro pour activer les feuilles.

      je sais que aucun système n'est infaillible. c'est pour cela que j'aurai bien aime pouvoir activer les boutons (visualise et enregistrer ) avec un touche du pave numérique.

      les employés n'ont pas accès a la tour du pc ni au clavier. il y a juste l’écran la souris et le pave numérique externe a leurs disposition. si j arrivais a faire disparaitre la souris, ça devient très dur de contourne le mot de passe .

      Encore merci de me répondre
      0
    3. geo
       
      pour désactiver la souris il faut que je puisse activer les macros avec le pave numérique
      0
    4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      A mettre dans:

      Private Sub Workbook_Open()
      Application.OnKey "{F5}", Procedure:="Enr"
      Application.OnKey "{F12}", Procedure:="Vis"
      End sub
      


      Touche F5 pour enregistrer et touche F12 pour visualiser

      Voilà
      0