Protection dynamique

Bonjour,

Je désire que des que je complète mon tableau avec mon Userform les cellule inséré doivent se verrouillé automatiquement:

J'ai essayé avec se code :

If Not Intersect([B2:B13], Target) Is Nothing And Target.Count = 1 Then
     ActiveSheet.Unprotect Password:=""
     Target.Locked = True
     Target.Interior.ColorIndex = 44
     ActiveSheet.Protect Password:=""
   End If

mais elle ne bloque que les cellule de B2:B13.

merci,

Salut,

Connaissant déjà un peu ta manière de faire, je dois te dire qu’il me semble que tu essaies un peu tout et n’importe quoi. Une macro ‘Worksheet_Change’ ne peut se placer que dans le code d’une feuille et non pas dans le code d’un UserForm.

Maintenant le verrouillage des cellules se fait en deux temps. Tout d’abord il faut verrouiller les cellules désirées – et toutes les cellules Excel sont par défaut verrouillées, donc toutes les cellules de tes feuilles ‘Chiens’ et ‘Chats’ sont verrouillées par défaut – et ensuite il faut protéger la feuille afin que le verrouillage soit actif.

Il me semble donc inutile de verrouiller des celles déjà verrouillée, mais peut-être veux-tu protéger la feuille après le lancement de ton code afin que les cellules verrouillées (dans ton cas absolument toutes, puisque tu n’en n’as déverrouillée aucune) soient actives ?

A te relire.

Bonjour yvouille,

Je souhaité à la base bloquer uniquement les cellules que je complétais à l'aide de mon Userform mais en y réfléchissant c'est un peu bête je me complique un peu trop la vie comme tu me l'a dit les cellules sont entièrement verrouillées donc je vais carrément protéger la feuille entière.

merci,

Mais tu ne dors donc jamais ?

Pour protéger et déprotéger une feuille sans mot de passe, utilise ces deux deux lignes de code

ActiveSheet.Protect
ActiveSheet.Unprotect

Et avec mot de passe (par exemple Blabla)

ActiveSheet.Protect "Blabla"
ActiveSheet.Unprotect "Blabla"

Amicalement

Ok, merci

p.s: Je travaille de nuit,

Rechercher des sujets similaires à "protection dynamique"