M365 - Verrouiller plages de cellules de plusieurs fichiers Excel

Bonjour,

J'ai une centaine de fichiers excel répartis dans une arborescence de type : Département/service/annee/nom_salarie.xlsx

A chaque nouvelle année, nous créons un nouveau dossier. Par exemple, dans Département/service nous avons les répertoires "2020","2021","2022","2023",... et dans chacun de ces répertoires, des fichiers excel "nom_salaries.xlsx".

J'aimerais que les fichiers excel de l'année précédente ne soit consultable qu'en lecture seule. Quand je dis fichier, c'est en fait une feuille de calcul que je nomme ici "perso" qu'il faudrait mettre en lecture seule. J'ai pensé à verrouiller les plages de cette plage. Mais il faudrait faire cela pour une centaine de fichier chaque année.

Une macro peut-elle faire l'affaire ?

Bonjour siccmdl,

Une macro peut le faire sans problème mais il faut préciser le type de verrouillage / protection souhaité :

  1. Protection Excel de tout le classeur : à l'ouverture du classeur, demande un mot de mot de passe pour la modification mais possibilité de l'ouvrir en lecture seule sans mot de passe.
  2. Protection Excel d'une seule feuille : demande un mot de passe pour modifier la feuille mais sans mot de passe sur le classeur ce n'est pas forcément une protection très robuste.
  3. Mise en lecture seule du fichier via les attributs de fichier : Le fichier s'ouvrira en lecture seule mais la modification de l'attribut "Lecture seule" dans l'explorateur de fichier suffit à ôter la "protection"

Cdlt,

Cylfo

Bonjour,

Merci de votre réponse ;) C'est une bonne nouvelle.

Une protection excel de tout le classeur me semble la meilleure option.

Comment cette macro se présenterait-elle ?

Comme dans le fichier joint

- Un onglet "Prog" (le nom peut être modifié) avec le bouton de lancement de la macro et quelques explications concernant la sélection du dossier et la saisie du mot de passe. A la fin du traitement, un message indique le nombre de fichiers lus et réenregistrés avec succès. Le mot de passe s'affiche en clair et doit être confirmé mais il n'est pas sauvegardé dans le journal.

- Un onglet "Journal" qui trace les fichiers Excel à traiter avec un statut indiquant la réussite de la sauvegarde du fichier avec la protection pour l'écriture ou l'échec à l'ouverture du fichier ou à l'enregistrement.

Le code est dans le module "Module1" et je l'ai commenté mais si besoin d'infos / explications complémentaires, pas de souci.

Pour tester, je conseille de le faire sur un dossier de test et sur un volume réduit.

Cdlt,

Bonjour,

C'est top, ça fonctionne très bien et c'est très bien documenté... Même si je trouve cela assez complexe .

Juste une question un peu naive, pourquoi lorsqu'on se rend dans macro, on ne la voit pas ? Il faut aller dans visualiser le code pour voir la macro.

Bonjour,

Il n'y a pas de question naïve . Pour éviter que la macro de lancement n'apparaisse dans la boîte de dialogue "Macro" (ALT + F8) j'ai déclaré le module en "Option Private Module" de ce fait la macro peut être lancée et/ou affectée à un bouton mais à condition de connaitre son nom.

C'est une option qui est pratique si tu as un module contenant des fonctions ou procédures partagées avec d'autres modules du classeur et que tu ne souhaites pas que les procédures sans paramètres apparaissent dans le menu Macro et que les fonctions soient visibles lors de l'écriture de formules.

Cdlt,

Cylfo

Rechercher des sujets similaires à "m365 verrouiller plages fichiers"