Autoriser modification uniquement via UserForm

Bonjour à tous,

J'ai mis à disposition un fichier editeur.xlsm sur un partage.

Ce fichier permet de sélectionner quelques infos dans les comboBox d'un UserForm puis de valider afin que le programme

mette les feuilles du classeur à jour en fonction des informations sélectionnées.

Le problème est que je ne trouve pas comment empêcher les utilisateurs de modifier directement les feuilles sans gêner le fonctionnement du UserForm.

Avec les droits NTFS : Bloquer l'accès en écriture empêche le programme de sauvegarder le fichier après que les feuilles aient été modifiées.

Avec la protection Excel : Elle empêche le programme d'écrire dans les feuilles. Mais peut-être y a-t-il des paramètres spéciaux pouvant m'aider ?

Une difficulté supplémentaire (c'est un problème secondaire qui pourra être traité dans un second temps), le classeur contient une feuille "Archives" avec un tableau, j'aimerais laisser la possibilité à l'utilisateur de trier et filtrer ce tableau. Hors protéger la modification d'un fichier va normalement de pair avec empêcher le tri et le filtrage.

Si vous avez des suggestions pour autoriser la modification d'un fichier via userForm tout en bloquant la modification manuelle je suis tout ouïe.

Merci d'avance à ceux qui se pencheront sur ce problème.

Note : J'utilise Excel 2013

Bonjour,

1) tu protèges ta feuille avec un mot de passe pour la rendre inaccessible via excel

2) dans ton code VBA tu déprotèges ta feuille pour faire les mises à jour dans ta feuille puis tu la protèges à nouveau.

3) tu protèges ton code par un mot de passe pour éviter que quiconque ne connaissant pas le mot de passe du code, ne puisse voir le mot de passe qui protège ta feuille. (via propriétés du projet VBA)

Merci beaucoup h2so4 pour cette réponse très rapide et qui répond bien à mon problème

j'étudiais quelques possibilités et celle-ci m'a fait réalisé la présence d'un nouveau problème. Je n'avais pas vu ta réponse et ai donc essayé de modifié mon poste en mode ninja-ni-vu-ni-connu ^^''

Mon problème est que je souhaiterais que sans avoir le droit de modifier les feuilles, les utilisateurs puissent tout-de-même les consulter, et pour faciliter la consultation d'un très grand nombre de ligne il faudrait idéalement leur laisser les fonctions de tri d'un tableau, de filtrage et/ou de recherche (CTRL + F). Or le verouillage d'Excel bloque ces 3 fonctionnalités.

Si je déverrouilles les cellules d'en-tête du tableau je peux débloquer l'utilisation du filtre mais pas les tris (qui modifient les lignes).

Une solution à laquelle je pense et de refaire un algorithme de tri et de l'inclure dans un bouton qui passera par le processus (déverrouillage - reverrouillage). Mais s'il y a possibilité de faire ça plus "proprement" ça m'intéresse.

lorsque tu vérouilles ta feuille tu as la possibilités d'autoriser certaines opérations (comme le tri ou les filtres) (voir options au moment du vérouillage).

Je connais cette possibilité mais je n'arrive pas à trouver la bonne combinaison de droit, pour le moment j'ai autoriser :

Mais bien que cela permette l'utilisation du filtre, le tri lui ne fonctionne pas et m'affiche le message me disant que "la cellule que j'essaie de modifier se trouve sur un une feuille protégée" et que "pour y apporter des modifications je dois ôter la protection".


J'ai trouvé une solution sur commentcamarche.net (on fait avec ce qu'on a hein ^^)

En fait pour que le tri d'une feuille verrouillée soit permis il faut (en plus d'autoriser le tri dont tu as parlé) :

1) Dans l'onglet "accueil" => "style" => mettre sous forme de tableau

2) Sélectionner le tableau, cocher la case mon tableau comporte des entêtes

3) Onglet "révisions" => rubrique "modifications" => cliquer sur "permettre la modification des plages"

Merci h2so4,

Je marque le sujet comme résolu et je te souhaite une bonne fin de journée

Bonjour,

trouvé sur internet,

edit, content pour toi que tu aies trouvé une solution.

Rechercher des sujets similaires à "autoriser modification uniquement via userform"