Voir quelles cellules sont verrouillées

Résolu/Fermé
Linda - 1 mai 2014 à 04:12
 Linda - 12 mai 2014 à 05:25
Bonjour,
Existe-t-il un façon de voir en un seul coup d'oeil, les cellules que l'on peut modifier dans une feuille protégée.
Il n'y a pas de données dans ma feuille. J'ai beaucoup travaillé dessus et maintenant, je ne sais plus s'il y a des cellules déverrouillées qui devraient être verrouillées.
C'est quand même assez fastidieux de les passer une par une.
Merci.

4 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 1/05/2014 à 10:21
Bonjour à tous,

La petite macro en question qui colorie ces cellules. La macro propose de le faire sur une copie ou non.
Ouvre ce classeur, le tien avec la feuille concernée activée (et déverrouillée), et tape Ctrl+d.
https://www.cjoint.com/c/DEbkrSTHjJs
Sub CelDeverrouillees()
    Dim c As Range, rep As Long, nbC As Long
    rep = MsgBox("Travailler sur une copie de la feuille ?", vbQuestion + vbYesNoCancel, "Colorer les cellules déverrouillées")
    If rep = vbCancel Then Exit Sub
    If rep = vbYes Then ActiveSheet.Copy after:=ActiveSheet
    Application.ScreenUpdating = False
    For Each c In ActiveSheet.UsedRange
        If Not c.Locked Then
            c.Interior.ColorIndex = 35
            nbC = nbC + 1
        End If
    Next c
    If nbC > 0 Then MsgBox nbC & " cellules déverrouillées."
End Sub

eric

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
1
Bonjour eriiic,
Ça fonctionne. Mais, y a-t-il une façon d'annuler cette manipulation une fois que les cellules ont été vérifiée. Si non, j'activerai la macro sur une copie et je corrigerai sur mon original. J'ai des cellules avec du remplissage manuel et évidemment, il disparaît si j'utilise la fonction "aucun remplissage" par la suite.
Merci beaucoup.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
Modifié par eriiic le 1/05/2014 à 17:39
y a-t-il une façon d'annuler cette manipulation
Non, ce n'est pas l'option que j'avais prise.
Autre version : https://www.cjoint.com/?DEbrDcBV1fP
Cliquer sur Restaurer à la fin pour remettre les couleurs d'origine.

eric

edit : le code oublié
Dans un module Standard :
Public sh As Worksheet, shCopie As Worksheet ', pl As Range

Sub CelDeverrouillees()
    Dim c As Range
    Set sh = ActiveSheet

    ActiveSheet.Copy after:=ActiveSheet
    Application.ScreenUpdating = False
    Set shCopie = ActiveSheet
    shCopie.Visible = xlSheetHidden
    sh.Activate
    ActiveSheet.UsedRange.Interior.ColorIndex = xlNone
    For Each c In sh.UsedRange
        If Not c.Locked Then
            c.Interior.ColorIndex = 35
        End If
    Next c
    Application.ScreenUpdating = True
    UF_Restaurer.Show vbModeless
End Sub


Bouton du UserForm :
Private Sub CommandButton1_Click()
    Dim c As Range
    Application.ScreenUpdating = False
    For Each c In sh.UsedRange
        c.Interior.ColorIndex = shCopie.Range(c.Address).Interior.ColorIndex
    Next c
    Application.DisplayAlerts = False
    shCopie.Delete
    Application.DisplayAlerts = True
    Me.Hide
End Sub
0
Je ne comprends pas comment utiliser la section "Bouton du UserForm". À quoi ça sert ?
La première macro fonctionne à merveille.
Merci.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
3 mai 2014 à 19:44
Bonjour,
À quoi ça sert ?
Il me semble que je l'ai écrit : remettre les couleurs d'origine.
En réponse à ce que tu as demandé... Tu as oublié ?

eric
0
Désolée, "Je ne sais pas comment mettre en fonction" serait peut-être mieux comme expression. Je réussi la première macro, elle fonctionne. C'est pour le bouton du UserForm que je suis perdue. Je ne peux malheureusement pas faire cela maintenant. Je vais étudier un peu cette fonction et je vous reviendrai, si je n'arrive pas à le faire. Si j'y arrive, je vous le confirmerai et je marquerai résolu.
Merci de votre aide,
À plus tard,
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 421
Modifié par Vaucluse le 1/05/2014 à 07:08
Bon jour
pas beaucoup de solution, sauf peut être un artifice:

lors de la protection de la feuille, décochez dans le menu qui s'affiche la ligne
"sélectionner les cellules verrouillées"

vous n'aurez alors accès qu'aux cellules déverrouillées, ce qui vous permettra de les repérer.

mais noter bien les adresses à modifier car il faudra ôter la protection pour les modifier

crdlmnt

Errare humanum est, perseverare diabolicum
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
1 mai 2014 à 08:26
Bonjour,

Ou par VBA si tu as quelques notions, soit les cellules sont colorisée après avoir déprotégé la feuille ou même sous protection dans une msgbox on affiche l'adresse des cellules déverrouillées
0
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 5 111
Modifié par Mike-31 le 1/05/2014 à 11:52
Re

en VBA code à placer dans un module

Sub CellulesDéverrouillées()
Dim myCell As Excel.Range
'activesheet.Unprotect 'déprotection de la feuille
For Each myCell In ActiveSheet.UsedRange
If myCell.Locked = False Then myCell.Interior.ColorIndex = 5 'colorisation des cellules déverrouillées
'activesheet.protect 'reprotection de la feuille
Next myCell
End Sub

ou tout simplement

Sub CellulesDéverrouillées()
Dim myCell As Excel.Range
If myCell.Locked = False Then MsgBox myCell.Address 'ou cette ligne donne l'adresse des cellules déverrouillées
If myCell.Locked = False Then Range(myCell.Address).Select 'ou encore cette ligne sélectionne les cellules déverrouillées
End Sub

Mais bon a aussi vite fait de protéger la feuille en décochant l'option Sélectionner les cellules verrouillées et de jouer avec la touche de tabulation qui sélectionnera les cellules déverrouillées les unes après les autres

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
Bonjour Mike-31.
J'ai utilisé la macro d'eriiic, car je ne suis pas habituée au langage VBA et je n'ai eu qu'à la copier.
Merci tout de même pour vos informations.
Linda
0