Dévérouiller des cellules sur une feuille protégée via VBA

Signaler
-
 Utilisateur anonyme -
Bonjour à tous,

Je suis débutant en VBA et j'ai dû m'y mettre pour mon stage :)

Mon problème est que je dois permettre à l'utilisateur de modifier certaines cellules sur une feuille déjà protégée. Tout en permettant la modification du reste de la feuille par macros.

Je l'ai protégée comme ça:

Private Sub Workbook_Activate()
Feuil1.Protect UserInterfaceOnly:=True
end sub

J'ai lu et essayé la méthode "tout dévérouiller, verrouiller les cellules que l'ont veut protéger, protéger les cellules vérrouillées" ou la méthode "permettre modifications des plages" sur excel, mais toutes entraînent un bug lorsque je lance une macro.

Je voudrais donc insérer une ligne de code VBA dans les lignes ci-dessus. Mais je n'ai rien trouvé pour ça...

Je ne sais pas si j'ai été clair

merci d'avance!

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
D'une manière générale :
- le verrouillage/déverrouillage ne peut être dédini que lorsque la feuille n'est pas protégée
- on définit donc d'abord ce qu'il y a à verrouiller et on protège ensuite
- et don, dans ton cas :
1) tu déprotèges
2) tu définis ce qu'il y a à verrouiller
3) tu re-protèges sur ces bases

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Merci pour ta réponse!

Cependant, sur les forums, je ne trouve que des méthodes comme la tienne mais qui passent directement par Excel, et qui bloquent mes macros.

Connaitrais-tu ainsi un moyen de ne protéger qu'une partie de ma feuille en la laissant modifiable par macros (UserInterfaceOnly:=True), le tout en VBA?

Merci bien!
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Pour pouvoir écrire dans des cellules d'une feuille protégée, il faut déverrouiller ces cellules avant de protéger.

Si tu veux pouvoir écrire dans des cellules verrouillées sur une feuille protégée, il te faut enlever la protection auparavant, que ce soit manuellement ou en passant par VBA

MaFeuille.Unprotect "Mot de passe si nécessaire"
'écrire/effacer/modifier les données
MaFeuille.Protect "Mot de passe si nécessaire"


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI

Bonjour,

Je suis débutant en VBA et j'ai dû m'y mettre pour mon stage :)


Donc les conctionnaires (sic) de ton école t'ont envoyé en stage sans s'assurer qu'ils t'avaient enseigné ce qu'il te fallait.