Bloquer certaines cellules d'une feuille et dupliquer ce blocage

Bonjour,

Je sais qu'il est possible de bloquer certaines cellules, ça j'y arrive

Mais est-il possible de dupliquer ces blocages sur d'autres feuilles identiques ?

Je m'explique :

Il y a une feuille par semaine avec certaines données bloquées et d'autres accessibles afin de pouvoir y indiquer certaines informations, et cela doit être fait toutes les semaines de l'année, soit 52 feuilles.

Dois-je bloquer à la main les mêmes cellules sur les 52 feuilles ?

Ou puisqu'il s'agit des mêmes cellules à chaque fois, il existe peut être une astuce ?

Merci d'avance pour vos réponses et bonne journée

Salut,

Il y a plusieurs méthodes pour arriver au même résultat.
Tu peux par exemple faire une boucle sur les feuilles et tester leur noms si le nom correspond alors tu bloques ou pas les cellules.

Public Function ProtectSheet(CellToProtect As Range) As Byte
    Dim sh As Worksheet
    For Each sh In ActiveWorkbook.Worksheets
        If Left(sh.Name, 7) = "Semaine" Then
            With sh.Range(CellToProtect.Address)
                ' Ici le code....
                .Locked = False
            End With
            ProtectSheet = ProtectSheet + 1 si tu veux savoir le nombre de feuilles tratées
        End If
    Next
End Function

et pour l'appel tu fais

image

Il est possible aussi de remplacer la variable Range de la fonction par un String qui correspond à tes adresses. mais il faut changer le code en conséquence.

Bonjour Marylee

Là encore pour l'exécution du code il y a plusieurs possibilités
Première chose à faire c'est de copier coller le code dans un module.

  1. On va dans l'environnement VBE Alt + F11
  2. Menu Insertion / Module
  3. Copier coller le code fournis

Ensuite plusieurs possibilités se présentent à toi.
Si c'est un code que tu dois l'utiliser souvent le mieux c'est de l'assigner à un bouton que tu colles sur une feuille.

Sub Bouton1_Cliquer()
    ProtectSheet Union(Range("H7:L7"), Range("A1:B12"), Range("N28:R28"))
End Sub

Si c'est juste pour l'utiliser une fois alors tu peux le lancer directement depuis la fenêtre exécution de l'environnement VBE.

- Accéder à l'environnement VBE (Alt + F11)
- Afficher la fenêtre exécution (Ctrl + G)Lancer la procédure.

ProtectSheet Range("H7:L7")

' // Ou bien
ProtectSheet Union(Range("H7:L7"), Range("A1:B12"), Range("N28:R28"))

' // Ou encore
ProtectSheet  [H7:L16]
Rechercher des sujets similaires à "bloquer certaines feuille dupliquer blocage"