[VBA] Formulaire pilotant la protection du classeur

ralph45

XLDnaute Impliqué
Bonsoir @tou.te.s,

Vous trouverez en copie le fichier pour lequel j'ai besoin de vos lumières.

À savoir qu'en Feuil1, j'ai un tableau où toutes les cellules sont verrouillées et protégées par un mot de passe ("TOTO"), hormis les cellules A3 à J9 :
On peut modifier celles-ci à volonté, mais il n'est pas possible de le faire pour les autres (insertions de colonnes et/ou de lignes, etc. --> Nada)

Ce que je désirerai, c'est autoriser l'ajout d'une ligne avec de nouvelles données uniquement en passant par les Shape et Userform1 "Ajout de ligne"...
J'ai bien tenté quelques tests, mais le code "PROTECTION_INACTIVE" me demande le mot de passe, ce que je ne veux pas.
Par là-même, je voudrai qu'à l'issue de la ligne, la protection s'applique à nouveau aux cellules verrouillées.

Encore merci de votre aide !

R@lph45
 

Pièces jointes

  • TEST_AJOUT_LIGNE_PROTEGEE.xlsx
    10.4 KB · Affichages: 11

Phil69970

XLDnaute Barbatruc
Bonjour Ralph, le forum

Le principe est :

1)Tu déprotèges ta feuille avec le code VBA si ton mot de passe est Toto cela donne cela :

ActiveSheet.Unprotect "toto" ou Worksheets ("Feuil1").Unprotect "toto"

2)Ton code VBA pour insérer ta ligne

3)Et ensute tu reprotèges ta feuille comme cela :

ActiveSheet.Protect "toto" ou Worksheets ("Feuil1").protect "toto"

@Phil69970
 

fanch55

XLDnaute Barbatruc
Bonsoir,
Au vu du code, vous déchargez l'userform puis vous essayez d'exécuter une sub de celui-ci pour ré-protéger la feuille . Faites d'abord la re-protection avant le déchargement ... 🤫
N'oubliez pas de verrouiller vos cellules à protéger..
1607289383661.png
 
Dernière édition:

ralph45

XLDnaute Impliqué
Bonjour @tou.te.s,

@Phil69970
@fanch55

Vous avez solutionné le souci d'une manière impeccable.
>> Je vous donne mes décisions & remarques :

Le fait de quitter le formulaire avant de protéger à nouveau les cellules était bien le point enquiquinant de la procédure ;

Les cellules à protéger sont bel et bien définies à l'origine. Seules les cellules en fond vert sont modifiables en mode protégé. Les autres, non, ce qui interdit - entre autres - les insertions et/ou suppressions de lignes/colonnes ;

Je garde l'Userform1, car pour cet exemple, il ne me servait qu'à ajouter cette fameuse ligne. Dans un avenir très proche, il servira notamment à saisir des valeurs via des textbox, listes déroulantes, boutions option, etc... Je garde par contre le code permettant d'accéder à la dernière ligne ;

En bonus, l'option de supprimer une ligne est très intéressante, mais ce n'est pas forcément toujours la dernière ligne à supprimer. Il faudrait pour cela au préalable demander quelle est la ligne à supprimer. Et en l'absence (dans ce fichier exemple) d'une clé unique permettant d'identifier une et une seule ligne... Mais c'est une piste à envisager.

Encore merci de votre temps passé sur le sujet et je clos ce fil... 👏👍

Bonne journée !

R@lph45
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 175
Membres
103 152
dernier inscrit
Karibu