Tableau sur feuille protégée : Ajout / suppression de lignes

mromain

XLDnaute Barbatruc
Bonjour le forum,

J’utilise régulièrement la protection des feuilles afin de contrôler l’utilisation des fichiers, mais comme d’autres, je trouve que l’impossibilité d’utiliser l’agrandissement automatique des tableaux est gênante…

Afin de contourner ce problème, je vous propose cette méthode alternative qui consiste à utiliser deux boutons (images + macro associée) qui permettent d’ajouter / supprimer des lignes d’un tableau sur une feuille protégée. La feuille est déprotégée, le traitement est effectué et la feuille est re-protégée dans la configuration initiale (le mot de passe est dans le VBA – par défaut vbNullString).

Le module VBA contient une unique macro publique à affecter à tous les boutons.
La macro utilise le nom de la forme appelante pour déterminer :
  1. le tableau sur lequel agir (par son nom)
  2. le type d'action :
    • Ajout : Ajoute une ligne en dernière de position.
    • Insert : Insère une ligne au-dessus de la cellule active, si la cellule active est hors du tableau, ajoute une ligne en dernière position.
    • Suppr : Supprime les lignes du tableau communes avec la sélection. Un message est affiché afin de confirmer la suppression des données.

Le nom du tableau et l'action sont séparés par un pipe "|" dans le nom de la forme appelante.
Exemple de noms de forme valides :
  • Tableau1|Ajout
  • Tableau2|Suppr
  • Tableau1|Insert


Cette méthode n’est pas parfaite, mais elle permet d’utiliser les tableaux avec des colonnes protégées contenant des formules, n’est pas trop contraignante pour l’utilisateur final et est simple à mettre en œuvre (copier le module VBA, nommer deux formes et leur affecter une macro).

Ci-joint un fichier exemple contenant deux tableaux sur une feuille protégée avec uniquement la possibilité d’ajouter (et non insérer) des lignes sur le second tableau.


A+
 

Pièces jointes

  • AddSuppRow.xlsm
    75.8 KB · Affichages: 368

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 312
Membres
102 860
dernier inscrit
fredo67