Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment protéger ou verrouiller les valeurs de cellule en fonction de la couleur d'arrière-plan?

Supposons, j'ai une grande feuille de calcul et plusieurs cellules sont remplies avec différentes couleurs d'arrière-plan, maintenant, je veux verrouiller ou protéger les cellules basées sur certaines couleurs remplies, comme le verrouillage ou la protection de toutes les cellules avec la couleur rouge. Existe-t-il de bonnes méthodes pour gérer cette tâche dans Excel?

Protégez ou verrouillez les valeurs de cellule en fonction de la couleur d'arrière-plan avec le code VBA


flèche bleue droite bulle Protégez ou verrouillez les valeurs de cellule en fonction de la couleur d'arrière-plan avec le code VBA

Par exemple, je veux verrouiller et protéger tous les globules rouges, afin d'empêcher d'autres utilisateurs de modifier ces valeurs de cellules, le code VBA suivant peut résoudre ce problème pour vous, faites comme ceci:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: Protège ou verrouille les valeurs de cellule en fonction de la couleur:

Sub lockcellsbycolor()
'Updateby Extendoffice 20161027
    Dim colorIndex As Integer
    colorIndex = 3
    Dim xRg As Range
    Application.ScreenUpdating = False
    For Each xRg In ActiveSheet.UsedRange.Cells
        Dim color As Long
        color = xRg.Interior.colorIndex
        If (color = colorIndex) Then
            xRg.Locked = True
        Else
            xRg.Locked = False
        End If
    Next xRg
    Application.ScreenUpdating = True
    MsgBox "All specified color cells have been locked!", vbInformation, "Kutools for Excel"
End Sub

Note: Dans le code ci-dessus, le nombre 3 au sein de la colorIndex = 3 script indique les cellules de couleur rouge que je veux verrouiller, vous pouvez le changer en un autre index de couleur que vous voulez verrouiller.

3. Puis appuyez F5 clé pour exécuter ce code, et seules les cellules de couleur rouge ont été verrouillées, d'autres cellules sont déverrouillées dans la plage utilisée de la feuille active, voir capture d'écran:

cellules de verrouillage de document par couleur 1

4. Si vous voulez les empêcher d'être modifiés par d'autres utilisateurs, il vous suffit d'appliquer le Protéger la feuille fonctionnalité pour protéger cette feuille de calcul.

Astuces: Pour obtenir le numéro d'index de couleur, vous pouvez appliquer la fonction définie par l'utilisateur suivante:

Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function


Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ben · 4 months ago
    Can this be applied to a sheet with merged cells and can it recognize a cell color that is based on conditional formatting? I want to lock cells that are color code 15 and those cells are color code 15 based on a conditional format. Thank you in advance.
  • To post as a guest, your comment is unpublished.
    Sébastien · 7 months ago
    Bonjour,
    j'aurais voulu savoir si il était possible de faire la même chose mais avec la valeur de la cellule plutôt que la couleur?
    Par exemple: Verrouiller toutes les cellules dont la valeur est "-" de la plage B2:E25.

    Merci d'avance