IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Verrouillage Fichier Excel - VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    responsable qualité
    Inscrit en
    Juin 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : responsable qualité

    Informations forums :
    Inscription : Juin 2019
    Messages : 20
    Points : 4
    Points
    4
    Par défaut Verrouillage Fichier Excel - VBA
    bonjour, planning - demande de congés test.xlsx

    dans un fichier Excel partagé, plusieurs collaborateurs le complètent.
    j'aimerais que à partir du mercredi 16h30, le fichier ne soit plus modifiable jusqu'au vendredi 17h
    et de nouveau modifiable à partir du lundi matin 7h
    est-ce possible en VBA plutôt que de faire moi même les manipulations via excel?

    le collaborateur peut, sur base d'une liste déroulante, mentionner s'il souhaite un VA, une récupération, ou un départ anticipé.
    ex. : le collaborateur A encode sa demande sur la ligne 4 (sur base de la liste déroulante)
    la ligne 5, quant à elle, servira à mentionner l'heure pour un départ anticipé. celle ci doit donc rester vide

    Le responsable validera la cellule en couleur verte et refusera en couleur rouge.
    J'aimerais qu'une fois la cellule modifée en couleur par le responsable, la cellule ne puisse plus être changée par le collaborateur.
    Seule le responsable peut changer de couleur.

    comment faire?
    Merci à vous,

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Pour ce qui est de la pièce jointe, bis : https://www.developpez.net/forums/d1.../#post10991341

    Citation Envoyé par mana.81 Voir le message
    j'aimerais que à partir du mercredi 16h30, le fichier ne soit plus modifiable jusqu'au vendredi 17h
    et de nouveau modifiable à partir du lundi matin 7h
    est-ce possible en VBA plutôt que de faire moi même les manipulations via excel?
    Quelles modifications veux-tu empêcher ? Uniquement les saisies ? Les modifications de formats ? autres ?

    Le responsable validera la cellule en couleur verte et refusera en couleur rouge.
    J'aimerais qu'une fois la cellule modifée en couleur par le responsable, la cellule ne puisse plus être changée par le collaborateur.
    Il serait plus simple de faire un bouton de validation qui lancerait une macro faisant les deux opérations : changer le couleur et verrouiller la feuille.

    Seule le responsable peut changer de couleur.
    Comment savoir si l'opérateur est le responsable ou un simple collaborateur ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Candidat au Club
    Femme Profil pro
    responsable qualité
    Inscrit en
    Juin 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : responsable qualité

    Informations forums :
    Inscription : Juin 2019
    Messages : 20
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Pour ce qui est de la pièce jointe, bis : https://www.developpez.net/forums/d1.../#post10991341


    Quelles modifications veux-tu empêcher ? Uniquement les saisies ? Les modifications de formats ? autres ?
    tout d'abord, merci pour votre réponse rapide. En fait, chaque collaborateur fait sa demande de congé/récup en encodant dans le fichier. ils ont jusque mercredi 16h30 pour le faire. Ils ne peuvent plus modifier à partir du mercredi 16h30.Vendredi, la responsable valide les congés ou refuse. Ils pourront alors demander un autre congé à partir de lundi.
    Je ne souhaite pas qu'ils puissent modifier la couleur (de rouge à vert); ce qui voudrait dire qu'ils s'autorisent un congé refusé.


    Il serait plus simple de faire un bouton de validation qui lancerait une macro faisant les deux opérations : changer le couleur et verrouiller la feuille.
    oui pourquoi pas, mais les collaborateurs ne doivent pas avoir accès à ce bouton alors

    Comment savoir si l'opérateur est le responsable ou un simple collaborateur ?
    toutes les cellules n'auront pas de format couleur. Seule la responsable le vendredi mettra de la couleur rouge ou verte

    pour info, suis une novice en VBA. et je m'en excuse par avance.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mana.81 Voir le message
    chaque collaborateur fait sa demande de congé/récup en encodant dans le fichier. ils ont jusque mercredi 16h30 pour le faire. Ils ne peuvent plus modifier à partir du mercredi 16h30.Vendredi, la responsable valide les congés ou refuse. Ils pourront alors demander un autre congé à partir de lundi.
    Je ne souhaite pas qu'ils puissent modifier la couleur (de rouge à vert); ce qui voudrait dire qu'ils s'autorisent un congé refusé.
    Ca ne répond pas à la question posée qui est pourtant précise.

    Et tu ne réponds pas non plus à la seconde question : Comment savoir si l'opérateur (celui qui utilise Excel à cet instant) est le responsable ou un simple collaborateur ?

    Si tu ne fournis pas les informations nécessaires, ton problème ne risque pas d'avancer et te tirer les vers du nez risque de rapidement devenir lassant.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Candidat au Club
    Femme Profil pro
    responsable qualité
    Inscrit en
    Juin 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : responsable qualité

    Informations forums :
    Inscription : Juin 2019
    Messages : 20
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Ca ne répond pas à la question posée qui est pourtant précise.

    Et tu ne réponds pas non plus à la seconde question : Comment savoir si l'opérateur (celui qui utilise Excel à cet instant) est le responsable ou un simple collaborateur ?
    le collaborateur utilise le fichier de lundi à mercredi pm uniquement et peut le consulter jeudi et vendredi uniquement en lecture seule.

    Si tu ne fournis pas les informations nécessaires, ton problème ne risque pas d'avancer et te tirer les vers du nez risque de rapidement devenir lassant.

    Je me rends compte que cela est très compliqué car du lundi au mercredi 16h30 le fichier sera de nouveau accessible à tous et ils pourront changer la couleur donc cela ne va pas.

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Comme dit dans une autre de tes discussions: PAS DE FICHIERS PARTAGES. Ca fout la pagaille.

    Chaque collaborateur a son propre fichier avec, éventuellement par liaison, les tables de données génériques dont il a besoin. On regroupe les saisies des collaborateurs dans un classeur de conso par VBA et on analyse dans ce classeur. Si besoin de code pour vérifier ou autre, et après avoir épuisé les nombreuses possibilités d'Excel, on code le minimum en VBA.

    Les données sont ramenées dans des feuilles séparées du classeur de conso où le VBA prend la relève pour les consolider sur une seule selon les règles de gestion établies. Après, vérifications, analyses, graphiques, ... se font dans un classeur en local uniquement.

    En Excel, c'est le seul schéma professionnel que je connaisse et que je puisse conseiller. Il n'y a pour moi pas d'alternative. Après, sur les moyens pour lier les données entre les classeurs, il existe différentes solutions et, en XL 2013, on pourrait se tourner vers PowerQuery mais c'est une option parmi d'autres.

    je pense en plus qu'il faut vraiment revoir la conception même des classeurs. Il faut utiliser les tables de données pour le stockage des infos, et prévoir des mécanismes pour gérer les affichages souhaités dans d'autres feuilles...

    J'ai illustré ce genre de conception dans un classeur "calendrier perpétuel" qui fonctionne sans VBA (c'était le challenge). Il met bien en évidence le fait que les données sont clairement séparées de leur présentation.

    En résumé:
    Création des listes communes dans un fichier;
    • Liaisons entre les listes communes et le fichier de chaque collaborateur (par les outils prévus pour dans l'onglet de données, pas par des formules de liaison!!);
    • Saisie par chaque collaborateur, soit dans la table, soit par saisie assistée (feuille de saisie et vba pour pousser dans la table, userform VBA, ...);
    • Récupération des données des collaborateurs dans des feuilles séparées d'un classeur de conso par les outils prévus (les mêmes que pour les listes génériques);
    • Consolidation "en local" des feuilles récupérées dans le tableau de résultat;
    • Analyse, graphiques, TCD,... en local dans le classeur de conso.


    Le vba se limite alors à la saisie (utilisateur) et la consolidation dans le classeur. En gros, une affaire de 30 à 50 lignes de code...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par mana.81 Voir le message
    Je me rends compte que cela est très compliqué car du lundi au mercredi 16h30 le fichier sera de nouveau accessible à tous et ils pourront changer la couleur donc cela ne va pas.
    On va essayer une dernière fois :

    Qu'est-ce que tu veux bloquer comme type de modification ? La saisie de valeurs dans une cellule ? Le format de cellule ? autre ?

    Comment Excel peut-il identifier si l'utilisateur qui vient d'ouvrir le fichier est le "responsable" ?
    Je vais essayer d'être plus clair : Toi, avec tes yeux et ton cerveau humain, tu peux voir s'il s'agit du "responsable". Excel ne dispose pas de ces deux organes. Donc, quelle est l'information qui permet à Excel de savoir que c'est le "responsable" qui est en train de manipuler le fichier.

    Ce sont deux questions simples et précises.
    Si tu ne donnes pas de réponse à chacune, il ne sera pas possible d'avancer.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    HALTE A LA DICTATURE !!!

    Si comme le propose Pierre chaque utilisateur dispose de son propre fichier pourquoi lui interdire de modifier les couleurs ?
    Autant leur laisser le choix de gérer les informations qui leur sont utiles, à moins que ces fichiers n'aient aucune utilité pour les utilisateurs.
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  9. #9
    Candidat au Club
    Femme Profil pro
    responsable qualité
    Inscrit en
    Juin 2019
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : responsable qualité

    Informations forums :
    Inscription : Juin 2019
    Messages : 20
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Comme dit dans une autre de tes discussions: PAS DE FICHIERS PARTAGES. Ca fout la pagaille.

    Chaque collaborateur a son propre fichier avec, éventuellement par liaison, les tables de données génériques dont il a besoin. On regroupe les saisies des collaborateurs dans un classeur de conso par VBA et on analyse dans ce classeur. Si besoin de code pour vérifier ou autre, et après avoir épuisé les nombreuses possibilités d'Excel, on code le minimum en VBA.

    Les données sont ramenées dans des feuilles séparées du classeur de conso où le VBA prend la relève pour les consolider sur une seule selon les règles de gestion établies. Après, vérifications, analyses, graphiques, ... se font dans un classeur en local uniquement.

    En Excel, c'est le seul schéma professionnel que je connaisse et que je puisse conseiller. Il n'y a pour moi pas d'alternative. Après, sur les moyens pour lier les données entre les classeurs, il existe différentes solutions et, en XL 2013, on pourrait se tourner vers PowerQuery mais c'est une option parmi d'autres.

    je pense en plus qu'il faut vraiment revoir la conception même des classeurs. Il faut utiliser les tables de données pour le stockage des infos, et prévoir des mécanismes pour gérer les affichages souhaités dans d'autres feuilles...

    J'ai illustré ce genre de conception dans un classeur "calendrier perpétuel" qui fonctionne sans VBA (c'était le challenge). Il met bien en évidence le fait que les données sont clairement séparées de leur présentation.

    En résumé:
    Création des listes communes dans un fichier;
    • Liaisons entre les listes communes et le fichier de chaque collaborateur (par les outils prévus pour dans l'onglet de données, pas par des formules de liaison!!);
    • Saisie par chaque collaborateur, soit dans la table, soit par saisie assistée (feuille de saisie et vba pour pousser dans la table, userform VBA, ...);
    • Récupération des données des collaborateurs dans des feuilles séparées d'un classeur de conso par les outils prévus (les mêmes que pour les listes génériques);
    • Consolidation "en local" des feuilles récupérées dans le tableau de résultat;
    • Analyse, graphiques, TCD,... en local dans le classeur de conso.


    Le vba se limite alors à la saisie (utilisateur) et la consolidation dans le classeur. En gros, une affaire de 30 à 50 lignes de code...


    Re-bonjour,
    oui, j'ai bien retenu maintenant pas de fichier partagé avec VBA
    oui, je pourrais créer le fichier type pour chaque collaborateur. et on ferait de même que pour mon autre fichier, on copie les données dans un récap. La responsable peut accorder ou refuser le congé (couleur cellule verte ou rouge). Par contre, ce fichier-là ne devra pas être modifié par les collaborateurs. là, on peut créer un bouton macro avec juste un mot de passe qui donne la possibilité de modifier le classseur. ce mot de passe sera uniquement pour la responsable.
    qu'en pensez-vous?

    Encore merci !

  10. #10
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,
    Citation Envoyé par mana.81 Voir le message
    Par contre, ce fichier-là ne devra pas être modifié par les collaborateurs. là, on peut créer un bouton macro avec juste un mot de passe qui donne la possibilité de modifier le classseur. ce mot de passe sera uniquement pour la responsable.
    qu'en pensez-vous?
    Pas besoin de macro pour qu'un fichier soit en lecture seule, il suffit de le protéger en écriture lors de l'enregistrement ou tout simplement de l'enregistrer en pdf. C'est plus efficace et plus sûr.
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

Discussions similaires

  1. Votre avis sur fichier Excel-Vba gestion des stocks
    Par mira3 dans le forum Conception
    Réponses: 5
    Dernier message: 10/04/2012, 10h01
  2. Créer et écrire dans un fichier excel (VBA)
    Par fadoch dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/04/2010, 10h30
  3. Créer et écrire dans un fichier excel (VBA)
    Par fadoch dans le forum Excel
    Réponses: 1
    Dernier message: 26/04/2010, 11h19
  4. Démarrer fichier excel vba avec paramètre
    Par ooyeah dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2007, 12h04
  5. Affichage Fenetre Parcourir (choix de fichier) Excel VBA
    Par AngeKenny dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/08/2006, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo