Bonjour,
Petite question car je suis perdu. J’ai un tableau avec des données et je voudrais verrouiller l'ensemble de mes cellules, à l'exception de celles qui ont une MEC spécifique (couleur de remplissage).
Pourquoi passer par une Macro ? C'est une base de données que je retravaille, et ma MEC est liée à des formules, donc impossible de sélectionner manuellement les cellules qui ont cette MEC ou celles qui n'en n'ont pas (la base de données est trop importante et aléatoire). Je voudrais donc effectuer ce verrouillage par Macro.
Après quelques recherches j'ai écrit le code suivant :
Pour information, la couleur de remplissage que j'utilise est "-4142"
Sub Verouiller()
Dim Cel, Plage As Range
Set Plage = ActiveSheet.Range("A1:P10000") 'Je voudrais sélectionner toute la feuille mais je ne trouve pas le code
ActiveSheet.Unprotect "xxxxxx"
For Each Cel In Plage
If Cel.Interior.ColorIndex <> -4142 Then (Le code de la couleur de remplissage que j’utilise)
If Cel.Locked = False Then Cel.Locked = True
End If
Next
ActiveSheet.Protect "xxxxxx"
End Sub
Mon code ne fonctionne pas car toute la feuille est verrouillée
je me suis aperçu en lisant les forums que le VBA ne gère pas le verrouillage par MEC de cette façon, il ne reconnait pas la couleur -4142 car elle est déterminée automatiquement par une MEC et pas de façon manuelle. En revanche il est question de "raison" de la MEC. Et je ne sais pas comment déterminer cette "raison"
Je cherche donc à modifier mon code pour qu'il me détecte la couleur issue de la mise en forme conditionnelle sur toute ma feuille, et qu'il me verrouille toutes les cellules qui ne sont pas éligibles à cette couleur de remplissage.
Je vous remercie par avance,
Bien cordialement,